EVT_MENU(XRCID("Arc_Open"), MainFrame::OnArcOpen)
EVT_MENU(XRCID("Arc_Close"), MainFrame::OnArcClose)
EVT_MENU(XRCID("Arc_Add"), MainFrame::OnArcAdd)
- EVT_MENU(XRCID("Arc_SFX"), MainFrame::OnArcSFX)
- EVT_MENU(XRCID("Arc_UnSFX"), MainFrame::OnArcUnSFX)
+ EVT_MENU(XRCID("Arc_SFX"), MainFrame::OnArcConvert)
+ EVT_MENU(XRCID("Arc_UnSFX"), MainFrame::OnArcConvert)
EVT_MENU(XRCID("Exe_Exit"), MainFrame::OnExit)
EVT_MENU(XRCID("Arc_Extract"), MainFrame::OnArcExtract)
EVT_MENU(XRCID("Arc_Delete"), MainFrame::OnArcDelete)
this->OnArcOpen(e);
}
-void MainFrame::OnArcSFX(wxCommandEvent&)
+void MainFrame::OnArcConvert(wxCommandEvent& e)
{
- this->ConvertArc(true);
-}
+ TPI_SWITCHES swInfo;
+ swInfo.fMakeSFX = e.GetId() == XRCID("Arc_SFX");
-void MainFrame::OnArcUnSFX(wxCommandEvent&)
-{
- this->ConvertArc(false);
+ // \95Û\91¶\90æ\82ð\90q\82Ë\82é\81B
+ wxFileName fnArchive(this->statusbar->GetStatusText(4));
+ wxFileDialog fd(this, swInfo.fMakeSFX ? wxT("Save as SFX") : wxT("Save as normal archive"), fnArchive.GetPath(wxPATH_GET_VOLUME), fnArchive.GetName() + (swInfo.fMakeSFX ? EXE_EXT : (wxString) wxEmptyString));
+ fd.SetWindowStyleFlag(wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
+ if (fd.ShowModal() == wxID_CANCEL)
+ {
+ return;
+ }
+ swInfo.fnDestinationDirectory = wxFileName::DirName(fd.GetDirectory());
+ this->fnLastOpenPath = swInfo.fnDestinationDirectory;
+
+ wxArrayString files;
+ files.Add(fd.GetPath());
+
+ ProcessDialog procDlg;
+ ::wxXmlResource::Get()->Load(FE_DIR_S_XRC wxT("dlg_process.xrc"));
+ ::wxXmlResource::Get()->LoadDialog(& procDlg, this, wxT("dlg_process"));
+ procDlg.InitDialog();
+ procDlg.Show(true);
+ this->ErrorCheck(this->tpi.Command(swInfo.fMakeSFX ? TPI_COMMAND_SFX : TPI_COMMAND_UNSFX, & swInfo, fnArchive.GetFullPath(), files));
+ procDlg.Show(false);
}
void MainFrame::OnArcExtract(wxCommandEvent& e)
return nFileCount;
}
-void MainFrame::ConvertArc(bool fToSFX)
-{
- // \95Û\91¶\90æ\82ð\90q\82Ë\82é\81B
- wxFileName fnArchive(this->statusbar->GetStatusText(4));
- wxFileDialog fd(this, fToSFX ? wxT("Save as SFX") : wxT("Save as normal archive"), fnArchive.GetPath(wxPATH_GET_VOLUME), fnArchive.GetName() + (fToSFX ? EXE_EXT : (wxString) wxEmptyString));
- fd.SetWindowStyleFlag(wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
- if (fd.ShowModal() == wxID_CANCEL)
- {
- return;
- }
- this->fnLastOpenPath = wxFileName::DirName(fd.GetDirectory());
-
- wxArrayString files;
- files.Add(fd.GetPath());
-
- TPI_SWITCHES swInfo;
- swInfo.fMakeSFX = fToSFX;
- swInfo.fnDestinationDirectory = wxFileName::DirName(fd.GetDirectory());
-
- ProcessDialog procDlg;
- ::wxXmlResource::Get()->Load(FE_DIR_S_XRC wxT("dlg_process.xrc"));
- ::wxXmlResource::Get()->LoadDialog(& procDlg, this, wxT("dlg_process"));
- procDlg.InitDialog();
- procDlg.Show(true);
- this->ErrorCheck(this->tpi.Command(fToSFX ? TPI_COMMAND_SFX : TPI_COMMAND_UNSFX, & swInfo, fnArchive.GetFullPath(), files));
- procDlg.Show(false);
-}
-
int MainFrame::ErrorCheck(int nErrorCode)
{
switch (nErrorCode)
void OnArcOpen( wxCommandEvent&);\r
void OnArcClose( wxCommandEvent&);\r
void OnArcAdd( wxCommandEvent&);\r
- void OnArcSFX( wxCommandEvent&);\r
- void OnArcUnSFX( wxCommandEvent&);\r
+ void OnArcConvert( wxCommandEvent&);\r
\r
void OnArcExtract( wxCommandEvent&);\r
void OnArcDelete( wxCommandEvent&);\r
void OnFilter(wxCommandEvent&);\r
\r
int LoadTPI(wxString &);\r
- void ConvertArc(bool);\r
int ErrorCheck(int);\r
\r
MainFrame();\r