OSDN Git Service

書庫を複製する機能を追加。
authorsirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sun, 31 Oct 2010 03:22:20 +0000 (03:22 +0000)
committersirakaba <sirakaba@9df91469-1e22-0410-86e7-ea8537beb833>
Sun, 31 Oct 2010 03:22:20 +0000 (03:22 +0000)
Linux上でダイアログでファイルを保存したり複数のファイルを選択したりする機能が動作していなかったバグを修正。

git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tpi/tpi@404 9df91469-1e22-0410-86e7-ea8537beb833

doc/history.html
share/locale/ja/lychee.po
src/lychee/dlg_make.cpp
src/lychee/dlg_process.cpp
src/lychee/frm_main.cpp
src/lychee/frm_main.h
src/lychee/ui/frm_main.fbp

index 40fbe85..878d8dc 100644 (file)
@@ -26,6 +26,7 @@
      <dd>\r
       <ul>\r
        <li class="add">書庫からクリップボードへファイルをコピーする機能を追加。</li>\r
+       <li class="add">書庫を複製する機能を追加。</li>\r
        <li class="chg">ファイルを開く動作でアプリケーションが起動している間も、Lycheeのウインドウを操作できるよう変更。</li>\r
        <li class="chg">書庫閲覧時のメモリ使用量を削減。</li>\r
        <li class="chg">書庫のアイコンを変更。</li>\r
@@ -33,6 +34,7 @@
        <li class="chg">ファイル選択時のみ有効になるコマンドはそのときのみ有効化するよう変更。</li>\r
        <li class="fix">空のディレクトリをツリービューに表示していなかったバグを修正。</li>\r
        <li class="fix">格納ファイルを開く際、取得されたファイルの種類に対してコマンドが存在しない場合にファイルを開けなかったバグを修正。</li>\r
+       <li class="fix">Linux上でダイアログでファイルを保存したり複数のファイルを選択したりする機能が動作していなかったバグを修正。</li>\r
       </ul>\r
      </dd>\r
      <dt>cuiWrapper</dt>\r
index 083d8dd..01f0283 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Lychee\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-24 23:37+0900\n"
-"PO-Revision-Date: 2010-10-24 23:41+0900\n"
+"POT-Creation-Date: 2010-10-31 12:08+0900\n"
+"PO-Revision-Date: 2010-10-31 12:09+0900\n"
 "Last-Translator: Silky <sirakaba@gmail.com>\n"
 "Language-Team: Silky <sirakaba@gmail.com>\n"
 "Language: \n"
@@ -31,19 +31,19 @@ msgid "Output"
 msgstr "出力"
 
 #: dlg_make.cpp:122
-#: æ¨\99æº\96å\85¥å\8a\9b:11
-#: æ¨\99æº\96å\85¥å\8a\9b:35
+#: æ¨\99æº\96å\85¥å\8a\9b:12
+#: æ¨\99æº\96å\85¥å\8a\9b:36
 msgid "Extract"
 msgstr "展開"
 
 #: dlg_make.cpp:160
-#: æ¨\99æº\96å\85¥å\8a\9b:29
+#: æ¨\99æº\96å\85¥å\8a\9b:30
 msgid "Add"
 msgstr "追加"
 
 #: dlg_make.cpp:171
 #: æ¨\99æº\96å\85¥å\8a\9b:3
-#: æ¨\99æº\96å\85¥å\8a\9b:23
+#: æ¨\99æº\96å\85¥å\8a\9b:24
 msgid "Create"
 msgstr "新規作成"
 
@@ -55,21 +55,25 @@ msgstr "この書庫には非常に多くのファイルが含まれているた
 msgid "The files you want to store are too many, so it takes long to check Directory Traversal Vulnerability(DTV) problem. If you are sure the path of the files are no problem, you can skip this scanning process. Do you want to scan for DTV problem?"
 msgstr "非常に多くのファイルを格納しようとしているため、ディレクトリ横断脆弱性(DTV)の危険性を調べるのに時間を要します。もしこれらのファイルのパス情報が安全だと確信できるなら、この検査を省略できます。DTV検査を行いますか?"
 
-#: dlg_make.cpp:421
+#: dlg_make.cpp:272
+msgid "Choose a key file"
+msgstr "暗号化に使用するキーファイルを選択"
+
+#: dlg_make.cpp:420
 #, c-format
 msgid "This archive may have Directory Traversal Vulnerability(DTV) problem, %s It is strongly recommended to ignore file path. Would you like to do so?"
 msgstr "この書庫にはディレクトリ横断脆弱性(DTV)の危険性があり、%sファイルのパス情報を無視することを強く推奨します。パス情報を無視しますか?"
 
-#: dlg_make.cpp:423
+#: dlg_make.cpp:422
 msgid "and some danger files may be extracted to the unexpected system directory!"
 msgstr "意図しないディレクトリに危険なファイルが展開される可能性があります。"
 
-#: dlg_make.cpp:424
+#: dlg_make.cpp:423
 msgid "and some danger files may be stored!"
 msgstr "危険なファイルが格納される可能性があります。"
 
 #: dlg_process.cpp:75
-#: dlg_process.cpp:295
+#: dlg_process.cpp:294
 msgid "Really do you want to cancel this operation?"
 msgstr "本当にこの操作を中断しますか?"
 
@@ -78,69 +82,77 @@ msgid "Password for:\n"
 msgstr "ファイルに対するパスワード:\n"
 
 #: dlg_process.cpp:180
-msgid "Select next volume of: "
+msgid "Choose next volume of: "
 msgstr "次の分割書庫を選択してください:"
 
-#: dlg_process.cpp:286
-#: dlg_process.cpp:288
+#: dlg_process.cpp:285
+#: dlg_process.cpp:287
 msgid "%Y/%m/%d %H:%M:%S modified, "
 msgstr "%Y/%m/%d %H:%M:%S 更新, "
 
-#: frm_main.cpp:169
+#: dlg_process.cpp:325
+msgid "Choose a file"
+msgstr "ファイルを選択"
+
+#: frm_main.cpp:172
 msgid "Filename"
 msgstr "名前"
 
-#: frm_main.cpp:170
+#: frm_main.cpp:173
 msgid "Unpacked"
 msgstr "格納前"
 
-#: frm_main.cpp:171
+#: frm_main.cpp:174
 msgid "Packed"
 msgstr "格納後"
 
-#: frm_main.cpp:172
+#: frm_main.cpp:175
 msgid "Ratio"
 msgstr "圧縮率"
 
-#: frm_main.cpp:173
+#: frm_main.cpp:176
 msgid "Method"
 msgstr "方式"
 
-#: frm_main.cpp:174
+#: frm_main.cpp:177
 msgid "Attr"
 msgstr "属性"
 
-#: frm_main.cpp:175
+#: frm_main.cpp:178
 msgid "Last modified"
 msgstr "最終更新日時"
 
-#: frm_main.cpp:176
+#: frm_main.cpp:179
 msgid "Path"
 msgstr "パス"
 
-#: frm_main.cpp:177
+#: frm_main.cpp:180
 msgid "Type"
 msgstr "種類"
 
-#: frm_main.cpp:178
+#: frm_main.cpp:181
 msgid "No."
 msgstr ""
 
-#: frm_main.cpp:179
-#: æ¨\99æº\96å\85¥å\8a\9b:68
+#: frm_main.cpp:182
+#: æ¨\99æº\96å\85¥å\8a\9b:69
 msgid "Comment"
 msgstr "コメント"
 
-#: frm_main.cpp:215
+#: frm_main.cpp:218
 msgid "Choose files to compress"
 msgstr "圧縮対象のファイルを選択"
 
+#: frm_main.cpp:320
+msgid "Choose an archive"
+msgstr "書庫を選択"
+
 #: frm_main.cpp:343
 #: frm_main.cpp:347
 msgid "No plug-in supporting this archive was found!"
 msgstr "この書庫に対応しているプラグインが存在しません!"
 
-#: frm_main.cpp:411
+#: frm_main.cpp:413
 #, c-format
 msgid ""
 "This archive may have Directory Traversal Vulnerability(DTV) problem, and some danger files may be extracted to the unexpected system directory! You should use the \"Ignore file pathes\" option when extracting this archive.\n"
@@ -151,7 +163,7 @@ msgstr ""
 "危険なファイル:\n"
 "%s"
 
-#: frm_main.cpp:417
+#: frm_main.cpp:419
 #, c-format
 msgid ""
 "This archive may contain extension-disguised files whose real extension is hidden by using many blank charactor and you may mistake that it is a \"safe\" file. Don't execute these files carelessly.\n"
@@ -162,7 +174,7 @@ msgstr ""
 "危険なファイル:\n"
 "%s"
 
-#: frm_main.cpp:425
+#: frm_main.cpp:427
 #, c-format
 msgid ""
 "This archive may contain extension-disguised files whose real extension is hidden by using Unicode control character and you may mistake that it is a \"safe\" file. Don't execute these files carelessly.\n"
@@ -173,52 +185,56 @@ msgstr ""
 "危険なファイル:\n"
 "%s"
 
-#: frm_main.cpp:461
+#: frm_main.cpp:469
 #, c-format
 msgid "%u file(s)"
 msgstr ""
 
-#: frm_main.cpp:529
+#: frm_main.cpp:532
+msgid "Clone archive"
+msgstr "書庫を複製"
+
+#: frm_main.cpp:556
 msgid "Choose files to add"
 msgstr "追加対象のファイルを選択"
 
-#: frm_main.cpp:599
+#: frm_main.cpp:625
 msgid "Save as SFX"
 msgstr "SFXに変換して保存"
 
-#: frm_main.cpp:599
+#: frm_main.cpp:625
 msgid "Save as normal archive"
 msgstr "通常書庫に変換して保存"
 
-#: frm_main.cpp:647
+#: frm_main.cpp:672
 msgid "Unable to get the file type!"
 msgstr "ファイルの種類を取得できません!"
 
-#: frm_main.cpp:665
+#: frm_main.cpp:690
 msgid "Unable to make the temporary directory!"
 msgstr "一時ディレクトリを作成できません!"
 
-#: frm_main.cpp:688
+#: frm_main.cpp:713
 msgid "Unable to make the destination directory!"
 msgstr "出力先ディレクトリを作成できません!"
 
-#: frm_main.cpp:813
+#: frm_main.cpp:843
 msgid "Are you sure to delete selected files?"
 msgstr "選択したファイルを本当に削除しますか?"
 
-#: frm_main.cpp:863
+#: frm_main.cpp:893
 msgid "This is a correct archive."
 msgstr "これは正常な書庫です。"
 
-#: frm_main.cpp:1076
+#: frm_main.cpp:1116
 msgid "Sorry, this function is not supported yet."
 msgstr "申し訳ありませんが、この機能には未対応です。"
 
-#: frm_main.cpp:1080
+#: frm_main.cpp:1120
 msgid "This operation is canceled by the user."
 msgstr "この操作はユーザにより取り消されました。"
 
-#: frm_main.cpp:1083
+#: frm_main.cpp:1123
 #, c-format
 msgid ""
 "Error: %s()!\n"
@@ -268,308 +284,312 @@ msgid "File"
 msgstr "ファイル"
 
 #: æ¨\99æº\96å\85¥å\8a\9b:4
-#: æ¨\99æº\96å\85¥å\8a\9b:25
+#: æ¨\99æº\96å\85¥å\8a\9b:26
 msgid "Open"
 msgstr "開く"
 
 #: æ¨\99æº\96å\85¥å\8a\9b:5
-#: æ¨\99æº\96å\85¥å\8a\9b:27
+#: æ¨\99æº\96å\85¥å\8a\9b:28
 msgid "Close"
 msgstr "閉じる"
 
 #: æ¨\99æº\96å\85¥å\8a\9b:6
+msgid "Clone\tCtrl+S"
+msgstr "複製\tCtrl+S"
+
+#: æ¨\99æº\96å\85¥å\8a\9b:7
 msgid "Add\tIns"
 msgstr "追加\tIns"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:7
-#: æ¨\99æº\96å\85¥å\8a\9b:31
+#: æ¨\99æº\96å\85¥å\8a\9b:8
+#: æ¨\99æº\96å\85¥å\8a\9b:32
 msgid "Make SFX"
 msgstr "SFX作成"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:8
-#: æ¨\99æº\96å\85¥å\8a\9b:33
+#: æ¨\99æº\96å\85¥å\8a\9b:9
+#: æ¨\99æº\96å\85¥å\8a\9b:34
 msgid "UnSFX"
 msgstr ""
 
-#: æ¨\99æº\96å\85¥å\8a\9b:9
+#: æ¨\99æº\96å\85¥å\8a\9b:10
 msgid "Exit\tCtrl+Q"
 msgstr "終了\tCtrl+Q"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:10
+#: æ¨\99æº\96å\85¥å\8a\9b:11
 msgid "Archive"
 msgstr "書庫"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:12
+#: æ¨\99æº\96å\85¥å\8a\9b:13
 msgid "Delete\tDel"
 msgstr "削除\tDel"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:13
-#: æ¨\99æº\96å\85¥å\8a\9b:39
+#: æ¨\99æº\96å\85¥å\8a\9b:14
+#: æ¨\99æº\96å\85¥å\8a\9b:40
 msgid "Test"
 msgstr "検査"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:14
-#: æ¨\99æº\96å\85¥å\8a\9b:41
+#: æ¨\99æº\96å\85¥å\8a\9b:15
+#: æ¨\99æº\96å\85¥å\8a\9b:42
 msgid "Repair"
 msgstr "修復"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:15
+#: æ¨\99æº\96å\85¥å\8a\9b:16
 msgid "Copy\tCtrl+C"
 msgstr "コピー\tCtrl+C"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:16
+#: æ¨\99æº\96å\85¥å\8a\9b:17
 msgid "View"
 msgstr "表示"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:17
+#: æ¨\99æº\96å\85¥å\8a\9b:18
 msgid "Icons\tCtrl+1"
 msgstr "アイコン表示\tCtrl+1"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:18
+#: æ¨\99æº\96å\85¥å\8a\9b:19
 msgid "Details\tCtrl+2"
 msgstr "詳細表示\tCtrl+2"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:19
+#: æ¨\99æº\96å\85¥å\8a\9b:20
 msgid "List\tCtrl+3"
 msgstr "一覧表示\tCtrl+3"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:20
+#: æ¨\99æº\96å\85¥å\8a\9b:21
 msgid "Show ToolBar"
 msgstr "ツールバーを表示"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:21
+#: æ¨\99æº\96å\85¥å\8a\9b:22
 msgid "Show StatusBar"
 msgstr "ステータスバーを表示"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:22
+#: æ¨\99æº\96å\85¥å\8a\9b:23
 msgid "Select All\tCtrl+A"
 msgstr "すべて選択\tCtrl+A"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:24
+#: æ¨\99æº\96å\85¥å\8a\9b:25
 msgid "Create new archive."
 msgstr "新規書庫を作成します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:26
+#: æ¨\99æº\96å\85¥å\8a\9b:27
 msgid "Open an archive."
 msgstr "書庫を開きます。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:28
+#: æ¨\99æº\96å\85¥å\8a\9b:29
 msgid "Close this archive."
 msgstr "現在開いている書庫を閉じます。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:30
+#: æ¨\99æº\96å\85¥å\8a\9b:31
 msgid "Add files or a folder to this archive."
 msgstr "ファイルかフォルダをこの書庫に追加します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:32
+#: æ¨\99æº\96å\85¥å\8a\9b:33
 msgid "Convert to self-extract archive."
 msgstr "自己展開書庫に変換します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:34
+#: æ¨\99æº\96å\85¥å\8a\9b:35
 msgid "Convert to normal archive."
 msgstr "通常の書庫に変換します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:36
+#: æ¨\99æº\96å\85¥å\8a\9b:37
 msgid "Extract selected files or whole archive."
 msgstr "選択ファイルもしくは書庫全体を展開します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:37
+#: æ¨\99æº\96å\85¥å\8a\9b:38
 msgid "Delete"
 msgstr "削除"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:38
+#: æ¨\99æº\96å\85¥å\8a\9b:39
 msgid "Delete selected files from this archive."
 msgstr "この書庫から選択ファイルを削除します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:40
+#: æ¨\99æº\96å\85¥å\8a\9b:41
 msgid "Test selected files or whole archive."
 msgstr "選択ファイルもしくは書庫全体を検査します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:42
+#: æ¨\99æº\96å\85¥å\8a\9b:43
 msgid "Repair selected files or whole archive."
 msgstr "選択ファイルもしくは書庫全体を修復します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:43
+#: æ¨\99æº\96å\85¥å\8a\9b:44
 msgid "Show only files containing filter string."
 msgstr "フィルタ文字列を含むファイルのみを表示します。"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:44
+#: æ¨\99æº\96å\85¥å\8a\9b:45
 msgid "General"
 msgstr "一般"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:45
+#: æ¨\99æº\96å\85¥å\8a\9b:46
 msgid "Destination directory/filename:"
 msgstr "出力先ディレクトリ/書庫名:"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:46
+#: æ¨\99æº\96å\85¥å\8a\9b:47
 msgid "Default"
 msgstr "初期値"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:47
+#: æ¨\99æº\96å\85¥å\8a\9b:48
 msgid "Desktop"
 msgstr "Desktop"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:48
+#: æ¨\99æº\96å\85¥å\8a\9b:49
 msgid "Current"
 msgstr "処理元"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:49
-#: æ¨\99æº\96å\85¥å\8a\9b:74
-#: æ¨\99æº\96å\85¥å\8a\9b:89
+#: æ¨\99æº\96å\85¥å\8a\9b:50
+#: æ¨\99æº\96å\85¥å\8a\9b:75
+#: æ¨\99æº\96å\85¥å\8a\9b:90
 msgid "Browse"
 msgstr "参照"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:50
+#: æ¨\99æº\96å\85¥å\8a\9b:51
 msgid "Options"
 msgstr "設定"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:51
+#: æ¨\99æº\96å\85¥å\8a\9b:52
 msgid "Archive type:"
 msgstr "書庫形式:"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:52
+#: æ¨\99æº\96å\85¥å\8a\9b:53
 msgid "Don't make directory"
 msgstr "ディレクトリを作成しない"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:53
+#: æ¨\99æº\96å\85¥å\8a\9b:54
 msgid "Make DIR by the archive name"
 msgstr "書庫名でディレクトリを作成"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:54
+#: æ¨\99æº\96å\85¥å\8a\9b:55
 msgid "Make DIR if needed"
 msgstr "必要ならディレクトリを作成"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:55
+#: æ¨\99æº\96å\85¥å\8a\9b:56
 msgid "Open the destination afterward"
 msgstr "処理後に出力先を開く"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:56
+#: æ¨\99æº\96å\85¥å\8a\9b:57
 msgid "Ignore file pathes"
 msgstr "ファイルパスを無視"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:57
+#: æ¨\99æº\96å\85¥å\8a\9b:58
 msgid "Exit afterward"
 msgstr "処理後に終了"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:58
+#: æ¨\99æº\96å\85¥å\8a\9b:59
 msgid "Config"
 msgstr "設定"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:59
+#: æ¨\99æº\96å\85¥å\8a\9b:60
 msgid "Compression Level"
 msgstr "圧縮レベル"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:60
+#: æ¨\99æº\96å\85¥å\8a\9b:61
 msgid "Multivolume"
 msgstr "分割"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:61
+#: æ¨\99æº\96å\85¥å\8a\9b:62
 msgid "Recovery Record"
 msgstr "リカバリーレコード"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:62
+#: æ¨\99æº\96å\85¥å\8a\9b:63
 msgid "%"
 msgstr ""
 
-#: æ¨\99æº\96å\85¥å\8a\9b:63
+#: æ¨\99æº\96å\85¥å\8a\9b:64
 msgid "Misc."
 msgstr "その他"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:64
+#: æ¨\99æº\96å\85¥å\8a\9b:65
 msgid "Solid compression"
 msgstr "ファイル連結圧縮を行う"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:65
+#: æ¨\99æº\96å\85¥å\8a\9b:66
 msgid "Multimedia optimization"
 msgstr "マルチメディア最適化を行う"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:66
+#: æ¨\99æº\96å\85¥å\8a\9b:67
 msgid "Header compression"
 msgstr "ヘッダ圧縮を行う"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:67
+#: æ¨\99æº\96å\85¥å\8a\9b:68
 msgid "Self-extracting archive"
 msgstr "自己展開書庫を作成"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:69
 #: æ¨\99æº\96å\85¥å\8a\9b:70
+#: æ¨\99æº\96å\85¥å\8a\9b:71
 msgid "Encryption"
 msgstr "暗号化"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:71
+#: æ¨\99æº\96å\85¥å\8a\9b:72
 msgid "Password:"
 msgstr "パスワード:"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:72
+#: æ¨\99æº\96å\85¥å\8a\9b:73
 msgid "Unmask"
 msgstr "可視化"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:73
+#: æ¨\99æº\96å\85¥å\8a\9b:74
 msgid "Keyfile:"
 msgstr "キーファイル:"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:75
+#: æ¨\99æº\96å\85¥å\8a\9b:76
 msgid "Method:"
 msgstr "方式:"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:76
+#: æ¨\99æº\96å\85¥å\8a\9b:77
 msgid "Header encryption"
 msgstr "ヘッダを暗号化する"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:77
+#: æ¨\99æº\96å\85¥å\8a\9b:78
 msgid "Files"
 msgstr "ファイル"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:78
+#: æ¨\99æº\96å\85¥å\8a\9b:79
 msgid "OK"
 msgstr ""
 
-#: æ¨\99æº\96å\85¥å\8a\9b:79
+#: æ¨\99æº\96å\85¥å\8a\9b:80
 msgid "Cancel"
 msgstr "中止"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:80
+#: æ¨\99æº\96å\85¥å\8a\9b:81
 msgid "Overwrite confirmation"
 msgstr "上書き確認"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:81
-#: æ¨\99æº\96å\85¥å\8a\9b:92
+#: æ¨\99æº\96å\85¥å\8a\9b:82
+#: æ¨\99æº\96å\85¥å\8a\9b:93
 msgid "Target:"
 msgstr "処理先:"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:82
+#: æ¨\99æº\96å\85¥å\8a\9b:83
 msgid "Existing:"
 msgstr "既存:"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:83
+#: æ¨\99æº\96å\85¥å\8a\9b:84
 msgid "Writing:"
 msgstr "書庫:"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:84
+#: æ¨\99æº\96å\85¥å\8a\9b:85
 msgid "Would you like to overwrite?"
 msgstr "ファイルを上書きしますか?"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:85
+#: æ¨\99æº\96å\85¥å\8a\9b:86
 msgid "Apply to all"
 msgstr "すべてに適用"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:86
+#: æ¨\99æº\96å\85¥å\8a\9b:87
 msgid "Overwrite"
 msgstr "上書き"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:87
+#: æ¨\99æº\96å\85¥å\8a\9b:88
 msgid "Skip"
 msgstr "スキップ"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:88
+#: æ¨\99æº\96å\85¥å\8a\9b:89
 msgid "Auto-rename"
 msgstr "自動改名"
 
-#: æ¨\99æº\96å\85¥å\8a\9b:90
+#: æ¨\99æº\96å\85¥å\8a\9b:91
 msgid "Lychee is processing ..."
 msgstr ""
 
-#: æ¨\99æº\96å\85¥å\8a\9b:91
+#: æ¨\99æº\96å\85¥å\8a\9b:92
 msgid "Source:"
 msgstr "処理元:"
 
index d25f9ac..f9c0449 100644 (file)
@@ -269,8 +269,7 @@ void MakeDialog::OnBtnBrowse(wxCommandEvent&)
 \r
 void MakeDialog::OnBtnBrowseKF(wxCommandEvent&)\r
 {\r
-       wxFileDialog fd(this);\r
-       fd.SetWindowStyleFlag(wxFD_OPEN | wxFD_FILE_MUST_EXIST);\r
+       wxFileDialog fd(this, _("Choose a key file"), wxEmptyString, wxEmptyString, wxFileSelectorDefaultWildcardStr, wxFD_OPEN | wxFD_FILE_MUST_EXIST);\r
        if (fd.ShowModal() == wxID_OK)\r
        {\r
                this->tcKeyfile->SetValue(fd.GetPath());\r
index 7a392c0..c95d544 100644 (file)
@@ -177,8 +177,7 @@ int ProcessDialog::CallbackProc(unsigned int _uMsg, void * _pStructure)
                }\r
                case TPI_PARAM_NEXTVOLUME:\r
                {\r
-                       wxFileDialog fd(this, _("Select next volume of: ") + piInfo->fiInfo.fnFileName.GetFullName());\r
-                       fd.SetWindowStyleFlag(wxFD_FILE_MUST_EXIST);\r
+                       wxFileDialog fd(this, _("Choose next volume of: ") + piInfo->fiInfo.fnFileName.GetFullName(), piInfo->fiInfo.fnFileName.GetPath(), wxEmptyString, wxFileSelectorDefaultWildcardStr, wxFD_OPEN | wxFD_FILE_MUST_EXIST);\r
                        if (fd.ShowModal() == wxID_CANCEL)\r
                        {\r
                                this->fCancel = true;\r
@@ -322,9 +321,8 @@ void OverwriteDialog::OnBtnAuto(wxCommandEvent&)
 \r
 void OverwriteDialog::OnBtnBrowse(wxCommandEvent&)\r
 {\r
-       wxFileDialog fd(this);\r
-       fd.SetWindowStyleFlag(wxFD_SAVE | wxFD_OVERWRITE_PROMPT);\r
-       fd.SetPath(this->ebTarget->GetValue());\r
+       wxFileName fn(this->ebTarget->GetValue());\r
+       wxFileDialog fd(this, _("Choose a file"), fn.GetPath(), fn.GetFullName(), wxFileSelectorDefaultWildcardStr, wxFD_SAVE | wxFD_OVERWRITE_PROMPT);\r
        if (fd.ShowModal() == wxID_OK)\r
        {\r
                this->ebTarget->SetValue(fd.GetPath());\r
index 71a4636..1e22df3 100644 (file)
@@ -103,6 +103,7 @@ BEGIN_EVENT_TABLE(MainFrame, wxFrame)
        EVT_MENU(XRCID("Arc_Create"),  MainFrame::OnArcCreate)\r
        EVT_MENU(XRCID("Arc_Open"),    MainFrame::OnArcOpen)\r
        EVT_MENU(XRCID("Arc_Close"),   MainFrame::OnArcClose)\r
+       EVT_MENU(XRCID("Arc_Clone"),   MainFrame::OnArcClone)\r
        EVT_MENU(XRCID("Arc_Add"),     MainFrame::OnArcAdd)\r
        EVT_MENU(XRCID("Arc_SFX"),     MainFrame::OnArcConvert)\r
        EVT_MENU(XRCID("Arc_UnSFX"),   MainFrame::OnArcConvert)\r
@@ -214,8 +215,7 @@ void MainFrame::OnArcCreate(wxCommandEvent& e)
        if (e.GetClientData() == NULL)\r
        {\r
                // 処理対象のファイルを選択。\r
-               wxFileDialog fd(this, _("Choose files to compress"), this->conf.ReadHistory(CONF_HISTORY_PATH, 0));\r
-               fd.SetWindowStyleFlag(wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);\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
@@ -317,9 +317,7 @@ void MainFrame::OnArcOpen(wxCommandEvent& e)
        // 書庫を選択。\r
        if (e.GetId() == XRCID("Arc_Open"))\r
        {\r
-               wxFileDialog fd(this);\r
-               fd.SetDirectory(this->conf.ReadHistory(CONF_HISTORY_PATH, 0));\r
-               fd.SetWindowStyleFlag(wxFD_OPEN | wxFD_FILE_MUST_EXIST);\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
                {\r
                        return;\r
@@ -481,6 +479,7 @@ void MainFrame::OnArcOpen(wxCommandEvent& e)
        SetMenuToolState("Arc_Extract", (this->aiArchive.fiInfo.eSupportedCommand & TPI_COMMAND_EXTRACT)== TPI_COMMAND_EXTRACT);\r
        SetMenuToolState("Arc_Test",    (this->aiArchive.fiInfo.eSupportedCommand & TPI_COMMAND_TEST)   == TPI_COMMAND_TEST);\r
        SetMenuToolState("Arc_Repair",  (this->aiArchive.fiInfo.eSupportedCommand & TPI_COMMAND_REPAIR) == TPI_COMMAND_REPAIR);\r
+       this->menubar->Enable(XRCID("Arc_Clone"), true);\r
 \r
        procDlg.Show(false);\r
        this->Raise();\r
@@ -502,6 +501,7 @@ void MainFrame::OnArcClose(wxCommandEvent& e)
        SetMenuToolState("Arc_Delete",  false);\r
        SetMenuToolState("Arc_Test",    false);\r
        SetMenuToolState("Arc_Repair",  false);\r
+       this->menubar->Enable(XRCID("Arc_Clone"), false);\r
 \r
        for (int i = 0; i < this->statusbar->GetFieldsCount(); i++)\r
        {\r
@@ -526,6 +526,24 @@ void MainFrame::OnArcClose(wxCommandEvent& e)
        }\r
 }\r
 \r
+void MainFrame::OnArcClone(wxCommandEvent&)\r
+{\r
+       // 保存先を尋ねる。\r
+       wxFileDialog fd(this, _("Clone archive"), this->fnArchive.GetPath(), this->fnArchive.GetFullName(), wxFileSelectorDefaultWildcardStr, wxFD_SAVE | wxFD_OVERWRITE_PROMPT);\r
+       if (fd.ShowModal() == wxID_CANCEL)\r
+       {\r
+               return;\r
+       }\r
+       this->conf.WriteHistory(CONF_HISTORY_PATH, fd.GetDirectory());\r
+\r
+       // コピー。\r
+       ::wxCopyFile(this->fnArchive.GetFullPath(), fd.GetPath());\r
+       wxFileName fn(fd.GetPath());\r
+       wxDateTime dtAccess, dtModify, dtCreate;\r
+       this->fnArchive.GetTimes(& dtAccess, & dtModify, & dtCreate);\r
+       fn.SetTimes(& dtAccess, & dtModify, & dtCreate);\r
+}\r
+\r
 void MainFrame::OnArcAdd(wxCommandEvent& e)\r
 {\r
        // 作成ダイアログを設定。\r
@@ -535,8 +553,7 @@ void MainFrame::OnArcAdd(wxCommandEvent& e)
        mkDlg.uCommand = TPI_COMMAND_ADD;\r
 \r
        // 処理対象のファイルを選択。\r
-       wxFileDialog fd(this, _("Choose files to add"), this->conf.ReadHistory(CONF_HISTORY_PATH, 0));\r
-       fd.SetWindowStyleFlag(wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);\r
+       wxFileDialog fd(this, _("Choose files to add"), 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
@@ -605,8 +622,7 @@ void MainFrame::OnArcConvert(wxCommandEvent& e)
        swInfo.fMakeSFX = e.GetId() == XRCID("Arc_SFX");\r
 \r
        // 保存先を尋ねる。\r
-       wxFileDialog fd(this, swInfo.fMakeSFX ? _("Save as SFX") : _("Save as normal archive"), this->fnArchive.GetPath(), this->fnArchive.GetName() + (swInfo.fMakeSFX ? EXE_EXT : (wxString) wxEmptyString));\r
-       fd.SetWindowStyleFlag(wxFD_SAVE | wxFD_OVERWRITE_PROMPT);\r
+       wxFileDialog fd(this, swInfo.fMakeSFX ? _("Save as SFX") : _("Save as normal archive"), this->fnArchive.GetPath(), this->fnArchive.GetName() + (swInfo.fMakeSFX ? EXE_EXT : (wxString) wxEmptyString), wxFileSelectorDefaultWildcardStr, wxFD_SAVE | wxFD_OVERWRITE_PROMPT);\r
        if (fd.ShowModal() == wxID_CANCEL)\r
        {\r
                return;\r
index 7f70e9f..5760696 100644 (file)
@@ -47,6 +47,7 @@ public:
     void OnArcCreate(  wxCommandEvent&);\r
     void OnArcOpen(    wxCommandEvent&);\r
     void OnArcClose(   wxCommandEvent&);\r
+    void OnArcClone(   wxCommandEvent&);\r
     void OnArcAdd(     wxCommandEvent&);\r
     void OnArcConvert( wxCommandEvent&);\r
 \r
index 529a3fc..60752df 100644 (file)
                         <property name="checked">0</property>
                         <property name="enabled">1</property>
                         <property name="help"></property>
-                        <property name="id">wxID_NEW</property>
+                        <property name="id">wxID_ANY</property>
                         <property name="kind">wxITEM_NORMAL</property>
                         <property name="label">Create</property>
                         <property name="name">Arc_Create</property>
                         <property name="checked">0</property>
                         <property name="enabled">1</property>
                         <property name="help"></property>
-                        <property name="id">wxID_OPEN</property>
+                        <property name="id">wxID_ANY</property>
                         <property name="kind">wxITEM_NORMAL</property>
                         <property name="label">Open</property>
                         <property name="name">Arc_Open</property>
                         <property name="checked">0</property>
                         <property name="enabled">0</property>
                         <property name="help"></property>
-                        <property name="id">wxID_CLOSE</property>
+                        <property name="id">wxID_ANY</property>
                         <property name="kind">wxITEM_NORMAL</property>
                         <property name="label">Close</property>
                         <property name="name">Arc_Close</property>
                         <event name="OnMenuSelection"></event>
                         <event name="OnUpdateUI"></event>
                     </object>
+                    <object class="wxMenuItem" expanded="1">
+                        <property name="bitmap"></property>
+                        <property name="checked">0</property>
+                        <property name="enabled">0</property>
+                        <property name="help"></property>
+                        <property name="id">wxID_ANY</property>
+                        <property name="kind">wxITEM_NORMAL</property>
+                        <property name="label">Clone</property>
+                        <property name="name">Arc_Clone</property>
+                        <property name="permission">none</property>
+                        <property name="shortcut">Ctrl+S</property>
+                        <property name="unchecked_bitmap"></property>
+                        <event name="OnMenuSelection"></event>
+                        <event name="OnUpdateUI"></event>
+                    </object>
                     <object class="separator" expanded="1">
                         <property name="name"></property>
                         <property name="permission">none</property>
                         <property name="checked">0</property>
                         <property name="enabled">1</property>
                         <property name="help"></property>
-                        <property name="id">wxID_SELECTALL</property>
+                        <property name="id">wxID_ANY</property>
                         <property name="kind">wxITEM_NORMAL</property>
                         <property name="label">Select All</property>
                         <property name="name">Exe_View_SelectAll</property>
                 <event name="OnUpdateUI"></event>
                 <object class="tool" expanded="1">
                     <property name="bitmap">../share/ico/16/create.png; Load From File</property>
-                    <property name="id">wxID_NEW</property>
+                    <property name="id">wxID_ANY</property>
                     <property name="kind">wxITEM_NORMAL</property>
                     <property name="label">Create</property>
                     <property name="name">Arc_Create</property>
                 </object>
                 <object class="tool" expanded="1">
                     <property name="bitmap">../share/ico/16/open.png; Load From File</property>
-                    <property name="id">wxID_OPEN</property>
+                    <property name="id">wxID_ANY</property>
                     <property name="kind">wxITEM_NORMAL</property>
                     <property name="label">Open</property>
                     <property name="name">Arc_Open</property>
                 </object>
                 <object class="tool" expanded="1">
                     <property name="bitmap">../share/ico/16/close.png; Load From File</property>
-                    <property name="id">wxID_CLOSE</property>
+                    <property name="id">wxID_ANY</property>
                     <property name="kind">wxITEM_NORMAL</property>
                     <property name="label">Close</property>
                     <property name="name">Arc_Close</property>