OSDN Git Service

Shiftを押しながら作成操作を行うことでフォルダを書庫に格納する機能を追加。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Mon, 20 Feb 2012 07:11:57 +0000 (07:11 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Mon, 20 Feb 2012 07:11:57 +0000 (07:11 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@599 9df91469-1e22-0410-86e7-ea8537beb833

doc/history.html
src/lychee/frm_main.cpp

index e238087..17f8d1d 100644 (file)
@@ -40,6 +40,7 @@
    <dt>Lychee</dt>\r
    <dd>\r
     <ul>\r
+     <li class="add">Shiftを押しながら作成操作を行うことでフォルダを書庫に格納する機能を追加。</li>\r
      <li class="chg">書庫を開いているときにタイトルバーに書庫名も表示するよう変更。</li>\r
      <li class="fix">一部の環境で起動できなくなっていたバグを修正。</li>\r
      <li class="fix">コマンドラインから書庫を開くのに失敗した場合に、スプリッターの位置を不正な値として記録していたバグを修正。</li>\r
index 463c59d..9dd691d 100644 (file)
@@ -247,15 +247,30 @@ void MainFrame::OnArcCreate(wxCommandEvent& e)
        MakeDialog mkDlg(this, TPI_COMMAND_CREATE);\r
        if (e.GetClientData() == NULL)\r
        {\r
-               // 処理対象のファイルを選択。\r
-               wxFileDialog fd(this, _("Choose files to compress"), this->conf.ReadHistory(CONF_HISTORY_PATH, 0), wxEmptyString, wxFileSelectorDefaultWildcardStr, wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);\r
-               if (fd.ShowModal() == wxID_CANCEL)\r
+               if (::wxGetKeyState(WXK_SHIFT))\r
                {\r
-                       return;\r
+                       // 処理対象のフォルダを選択。\r
+                       wxDirDialog dd(this, _("Choose dir to compress"), this->conf.ReadHistory(CONF_HISTORY_PATH, 0), wxDD_DIR_MUST_EXIST);\r
+                       if (dd.ShowModal() == wxID_CANCEL)\r
+                       {\r
+                               return;\r
+                       }\r
+                       swInfo.fnDestinationDirectory = wxFileName(dd.GetPath());\r
+                       this->conf.WriteHistory(CONF_HISTORY_PATH, swInfo.fnDestinationDirectory.GetPath());\r
+                       mkDlg.files.Add(swInfo.fnDestinationDirectory.GetFullName());\r
+               }\r
+               else\r
+               {\r
+                       // 処理対象のファイルを選択。\r
+                       wxFileDialog fd(this, _("Choose files to compress"), this->conf.ReadHistory(CONF_HISTORY_PATH, 0), wxEmptyString, wxFileSelectorDefaultWildcardStr, wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);\r
+                       if (fd.ShowModal() == wxID_CANCEL)\r
+                       {\r
+                               return;\r
+                       }\r
+                       fd.GetFilenames(mkDlg.files);\r
+                       swInfo.fnDestinationDirectory = wxFileName::DirName(fd.GetDirectory());\r
+                       this->conf.WriteHistory(CONF_HISTORY_PATH, fd.GetDirectory());\r
                }\r
-               swInfo.fnDestinationDirectory = wxFileName::DirName(fd.GetDirectory());\r
-               this->conf.WriteHistory(CONF_HISTORY_PATH, fd.GetDirectory());\r
-               fd.GetFilenames(mkDlg.files);\r
        }\r
        else\r
        {\r