#else\r
e = new wxCommandEvent(wxEVT_COMMAND_MENU_SELECTED, XRCID("Arc_Open"));\r
#endif\r
- e->SetInt(1);\r
+ e->SetInt(2);\r
e->SetExtraLong((long) llFileCount);\r
this->mainFrame->fnArchive = wxFileName(asFiles[0]);\r
#if wxCHECK_VERSION(2, 9, 0)\r
}\r
\r
// 終了しない場合は書庫を開く。\r
- e.SetInt(1);\r
this->OnArcOpen(e);\r
}\r
\r
void MainFrame::OnArcOpen(wxCommandEvent& e)\r
{\r
+ // モード取得。通常は0, それ以外で開く場合は1, ファイルDnDなら2。\r
+ int nMode = e.GetInt() == 2 ? 2 : e.GetId() == XRCID("Arc_Open") ? 0 : 1;\r
+\r
// 書庫を選択。\r
- if (e.GetInt() != 1)\r
+ if (nMode == 0)\r
{\r
wxFileDialog fd(this, _("Choose an archive"), this->conf.ReadHistory(CONF_HISTORY_PATH, 0), wxEmptyString, wxFileSelectorDefaultWildcardStr, wxFD_OPEN | wxFD_FILE_MUST_EXIST);\r
if (fd.ShowModal() == wxID_CANCEL)\r
// DnD以外で書庫を開く場合、TPIを読み込み。\r
TPI_PROCESSINFO piInfo;\r
piInfo.fiInfo.nUnpackedSize = e.GetExtraLong();\r
- if (e.GetInt() != 1 && ! this->LoadTPI(this->fnArchive.GetFullPath(), & piInfo.fiInfo.nUnpackedSize))\r
+ if (nMode != 2 && ! this->LoadTPI(this->fnArchive.GetFullPath(), & piInfo.fiInfo.nUnpackedSize))\r
{\r
procDlg.Show(false);\r
tpi.FreeLibrary();\r
}\r
\r
// 終了しない場合は書庫を再読み込み。\r
- e.SetInt(1);\r
this->OnArcOpen(e);\r
}\r
\r
}\r
\r
// 書庫を再読み込みする。\r
- e.SetInt(1);\r
this->OnArcOpen(e);\r
}\r
\r
\r
// 書庫を開く。\r
wxCommandEvent e;\r
- e.SetInt(1);\r
frm_main->fnArchive = wxFileName(cmdLine.GetParam(0));\r
frm_main->fnArchive.Normalize(wxPATH_NORM_DOTS | wxPATH_NORM_ABSOLUTE | wxPATH_NORM_LONG, szCwd);\r
frm_main->OnArcOpen(e);\r