this->conf.WriteHistory(CONF_HISTORY_PATH, fd.GetDirectory());\r
this->fnArchive = wxFileName(fd.GetPath());\r
}\r
- this->OnArcClose(e);\r
\r
// 進捗ダイアログ表示。\r
ProcessDialog procDlg;\r
procDlg.Show(true);\r
\r
- // TPIを読み込み。\r
+ // DnD以外で書庫を開く場合、TPIを読み込み。\r
TPI_PROCESSINFO piInfo;\r
piInfo.fiInfo.nUnpackedSize = e.GetExtraLong();\r
- if (piInfo.fiInfo.nUnpackedSize == 0)\r
+ if (piInfo.fiInfo.nUnpackedSize == 0 && ! this->LoadTPI(this->fnArchive.GetFullPath(), & piInfo.fiInfo.nUnpackedSize))\r
{\r
- // DnD以外で書庫を開く場合。\r
- if (! this->LoadTPI(this->fnArchive.GetFullPath(), & piInfo.fiInfo.nUnpackedSize))\r
+ procDlg.Show(false);\r
+ tpi.FreeLibrary();\r
+ if (this->IsShown())\r
{\r
- procDlg.Show(false);\r
- tpi.FreeLibrary();\r
- if (this->IsShown())\r
- {\r
- wxBell();\r
- this->statusbar->SetStatusText(_("No plug-in supporting this archive was found!"), 4);\r
- }\r
- else\r
- {\r
- wxLogError(_("No plug-in supporting this archive was found!"));\r
- this->Close(true);\r
- }\r
- return;\r
+ wxBell();\r
+ this->statusbar->SetStatusText(_("No plug-in supporting this archive was found!"), 4);\r
}\r
+ else\r
+ {\r
+ wxLogError(_("No plug-in supporting this archive was found!"));\r
+ this->Close(true);\r
+ }\r
+ return;\r
}\r
\r
// 最初のコールバックを送信。\r
\r
bool MainFrame::LoadTPI(wxString szFileName, wxULongLong_t * llFileCount)\r
{\r
+ // 書庫を開いていれば閉じておく。\r
+ wxCommandEvent e;\r
+ this->OnArcClose(e);\r
+\r
// TPIを読み込み。\r
wxDir fs(L_DIR_B_LIB);\r
wxString szTPIName;\r