OSDN Git Service

DnD以外から書庫を読み込めなくなっていたバグを修正。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Mon, 8 Nov 2010 11:40:15 +0000 (11:40 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Mon, 8 Nov 2010 11:40:15 +0000 (11:40 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@426 9df91469-1e22-0410-86e7-ea8537beb833

src/lychee/cls_filedroptarget.cpp
src/lychee/frm_main.cpp
src/lychee/lychee.cpp

index 0e9abb2..78c75a3 100644 (file)
@@ -58,7 +58,7 @@ bool myFileDropTarget::OnDropFiles(wxCoord, wxCoord, const wxArrayString & asFil
 #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
index e718948..8ff8498 100644 (file)
@@ -311,14 +311,16 @@ void MainFrame::OnArcCreate(wxCommandEvent& e)
        }\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
@@ -336,7 +338,7 @@ void MainFrame::OnArcOpen(wxCommandEvent& e)
        // 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
@@ -616,7 +618,6 @@ void MainFrame::OnArcAdd(wxCommandEvent& e)
        }\r
 \r
        // 終了しない場合は書庫を再読み込み。\r
-       e.SetInt(1);\r
        this->OnArcOpen(e);\r
 }\r
 \r
@@ -867,7 +868,6 @@ void MainFrame::OnArcDelete(wxCommandEvent& e)
        }\r
 \r
        // 書庫を再読み込みする。\r
-       e.SetInt(1);\r
        this->OnArcOpen(e);\r
 }\r
 \r
index f8003eb..90abd61 100644 (file)
@@ -82,7 +82,6 @@ bool Lychee::OnInit()
 \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