OSDN Git Service

Merging revisions 378-423 of 20100515_frontend_testing git-svn rel20100722_ver1.4.4
authoryuki <yuki@c066991c-cf13-ec4a-a49a-846e61667af5>
Fri, 27 May 2011 18:44:06 +0000 (18:44 +0000)
committeryuki <yuki@c066991c-cf13-ec4a-a49a-846e61667af5>
Fri, 27 May 2011 18:44:06 +0000 (18:44 +0000)
git-svn-id: http://192.168.11.7/svn/saccubus/trunk@424 c066991c-cf13-ec4a-a49a-846e61667af5

14 files changed:
frontend/README.html
frontend/fest-swing_mapping.txt [new file with mode: 0644]
frontend/nbproject/project.properties
frontend/src/saccubus/MainFrame.java
frontend/src/saccubus/SavePanel.form
frontend/src/saccubus/SavePanel.java
frontend/src/saccubus/VideoSaveInfoPanel.form
frontend/src/saccubus/VideoSaveInfoPanel.java
frontend/src/saccubus/converter/filegetter/FileInstanciator.java
frontend/src/saccubus/converter/filegetter/FileLocator.java
frontend/src/saccubus/net/NicoClient.java
frontend/src/saccubus/properties/InputCommentSetting.java
frontend/src/saccubus/properties/InputTcommentSetting.java
frontend/test/saccubus/SaccubusTest.java [new file with mode: 0644]

index cad72e1..be68b32 100644 (file)
@@ -1,16 +1,10 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
-<html>\r
-<head>\r
-  <meta content="text/html; charset=UTF-8" http-equiv="content-type">\r
-  <title>README</title>\r
-</head>\r
-<body>\r
-<p><iframe style="border-style: none;" marginheight="0" border="0"\r
- src="http://rcm-jp.amazon.co.jp/e/cm?t=feather0e-22&amp;o=9&amp;p=15&amp;l=st1&amp;mode=toys-jp&amp;search=%E5%88%9D%E9%9F%B3%E3%83%9F%E3%82%AF&amp;fc1=000000&amp;lt1=&amp;lc1=3366FF&amp;bg1=FFFFFF&amp;f=ifr"\r
- marginwidth="0" frameborder="0" height="240" scrolling="no" width="468"></iframe></p>\r
+<html><head>\r
+\r
+  <meta content="text/html; charset=UTF-8" http-equiv="content-type"><title>README</title></head><body>\r
+<p><iframe style="border-style: none;" marginheight="0" border="0" src="http://rcm-jp.amazon.co.jp/e/cm?t=feather0e-22&amp;o=9&amp;p=15&amp;l=st1&amp;mode=toys-jp&amp;search=%E5%88%9D%E9%9F%B3%E3%83%9F%E3%82%AF&amp;fc1=000000&amp;lt1=&amp;lc1=3366FF&amp;bg1=FFFFFF&amp;f=ifr" marginwidth="0" frameborder="0" height="240" scrolling="no" width="468"></iframe></p>\r
 <h3>本プログラムについて</h3>\r
-<p>本プログラムは、<a\r
- href="http://feather.cocolog-nifty.com/weblog/2009/11/nicobrowser---f.html">NicoBrowser</a>で\r
+<p>本プログラムは、<a href="http://feather.cocolog-nifty.com/weblog/2009/11/nicobrowser---f.html">NicoBrowser</a>で\r
 ダウンロードしたコンテンツを<a href="http://saccubus.sourceforge.jp/">さきゅばす</a>ver.1.22r\r
 に処理させることができるよう拡張したものです。</p>\r
 <h3>&nbsp;改正著作権法に関して留意事項<br>\r
@@ -26,8 +20,7 @@
   <li>投稿者コメントのダウンロード、動画への付与。</li>\r
   <li>公式動画(soで始まる動画)のコメントダウンロード、変換。</li>\r
   <ul>\r
-    <li>ただし、URLの入力には未対応。<a\r
- href="http://www.nicovideo.jp/watch/so8900221">http://www.nicovideo.jp/watch/so8900221</a>\r
+    <li>ただし、URLの入力には未対応。<a href="http://www.nicovideo.jp/watch/so8900221">http://www.nicovideo.jp/watch/so8900221</a>\r
 でなく <a href="http://www.nicovideo.jp/watch/1259333700">http://www.nicovideo.jp/watch/1259333700</a>\r
 と入力する必要がある。<br>\r
     </li>\r
@@ -55,8 +48,7 @@
 <p>また、Linuxで動作させる場合には、上記以外にSDL, SDL_ttf, SDL_gfxの導入が必要です。<br>\r
 </p>\r
 <p>NicoBrowser拡張機能を使用する場合、NicoBrowser ver.0.1.1以降がセットアップされている必要があります。</p>\r
-<p>Windows VistaやWindows7ではDEP機能によってffmpegが正常に動作しないようです。この場合は、<a\r
- href="http://windows.microsoft.com/ja-JP/windows-vista/Change-Data-Execution-Prevention-settings">こ\r
+<p>Windows VistaやWindows7ではDEP機能によってffmpegが正常に動作しないようです。この場合は、<a href="http://windows.microsoft.com/ja-JP/windows-vista/Change-Data-Execution-Prevention-settings">こ\r
 ちら</a>を参考にして、binディレクトリにあるffmpeg.exeをDEP対象から外して下さい。</p>\r
 <p>&nbsp;</p>\r
 <h3>本プログラムの導入方法</h3>\r
 <p></p>\r
 <p>&nbsp;</p>\r
 <h3>拡張機能の使い方</h3>\r
-<p><a\r
- href="http://feather.cocolog-nifty.com/weblog/WindowsLiveWriter/saccubus_frame.png"><img\r
- style="border-width: 0px; display: inline;" title="saccubus_frame"\r
- alt="saccubus_frame"\r
- src="http://feather.cocolog-nifty.com/weblog/WindowsLiveWriter/saccubus_frame_thumb.png"\r
- border="0" height="244" width="156"></a> </p>\r
+<p><a href="http://feather.cocolog-nifty.com/weblog/WindowsLiveWriter/saccubus_frame.png"><img style="border-width: 0px; display: inline;" title="saccubus_frame" alt="saccubus_frame" src="http://feather.cocolog-nifty.com/weblog/WindowsLiveWriter/saccubus_frame_thumb.png" border="0" height="244" width="156"></a> </p>\r
 <p>さきゅばすを起動し、上図枠内のラジオボタン「NicoBrowserダウンロードファイルを用いる」をクリックし、<strong>テキスト\r
 フィールドにファイルをドラッグ&amp;ドロップ</strong>、あるいは直接入力する。</p>\r
 <p>&nbsp;</p>\r
 <h3>注意点</h3>\r
 <ul>\r
-  <li><a\r
- href="http://feather.cocolog-nifty.com/weblog/2009/11/ipum---1377.html">ipum</a>やNicoBrowser\r
+  <li><a href="http://feather.cocolog-nifty.com/weblog/2009/11/ipum---1377.html">ipum</a>やNicoBrowser\r
 との同時起動は行えない。 </li>\r
   <li>Windows Vistaや7ではさきゅばすの変換処理が進まない場合があるらしい。対処方法は前述「動作環境」を参照。</li>\r
 </ul>\r
 <p><br>\r
 </p>\r
-<h3>&nbsp;更新履歴</h3>\r
+<h3>更新履歴</h3>\r
+<p>2010/06/05 ver.1.4.4<br>\r
+コンフィグロード時「入力コメント」タブの「コメント取得数は自動で調整する」チェックボックスとフォルダ/ファイル保存選択ラジオボタンの値を誤って読み込んでいた問題を修正。<br>\r
+過去ログ取得URL変更に対応(ver.1.4.2と同様)。\r
+</p>\r
+<p>2010/05/29 ver.1.4.3<br>\r
+投稿者コメントを変換後削除するオプションが保存できていなかった問題の修正。<br>\r
+ファイルチューザダイアログでファイル選択後、1階層上のディレクトリが選択されてしまう問題の修正。<br>\r
+入力投稿者コメントタブ等のボタンが機能していなかった問題の修正。<br>\r
+各入力ファイル(動画、コメント、投稿者コメント)を自動命名で同一ディレクトリに保存するように設定していた場合、正しくファイル命名できなかった問題を修正。これに伴い、投稿者コメントファイルの拡張子を.txmlにする。(コメントファイルと区別できるように)\r
+</p>\r
 <p>2010/05/13 ver.1.4.2<br>\r
 サービスのアクセスURL変更に対応。<br>\r
 </p>\r
@@ -140,5 +136,4 @@ UIの見直し。<br>
 <p>2009/12/03 ver.0.0.0<br>\r
 初版<br>\r
 </p>\r
-</body>\r
-</html>\r
+</body></html>
\ No newline at end of file
diff --git a/frontend/fest-swing_mapping.txt b/frontend/fest-swing_mapping.txt
new file mode 100644 (file)
index 0000000..31f0697
--- /dev/null
@@ -0,0 +1,32 @@
+-, MINUS, NO_MASK\r
+^, CIRCUMFLEX, NO_MASK\r
+@, AT, NO_MASK\r
+[, OPEN_BRACKET, NO_MASK\r
+;, SEMICOLON, NO_MASK\r
+:, COLON, NO_MASK\r
+], CLOSE_BRACKET, NO_MASK\r
+COMMA, COMMA, NO_MASK\r
+., PERIOD, NO_MASK\r
+/, SLASH, NO_MASK\r
+\, BACK_SLASH, NO_MASK\r
+!, 1, SHIFT_MASK\r
+", 2, SHIFT_MASK\r
+#, 3, SHIFT_MASK\r
+$, 4, SHIFT_MASK\r
+%, 5, SHIFT_MASK\r
+&, 6, SHIFT_MASK\r
+', 7, SHIFT_MASK\r
+(, 8, SHIFT_MASK\r
+), 9, SHIFT_MASK\r
+=, MINUS, SHIFT_MASK\r
+~, CIRCUMFLEX, SHIFT_MASK\r
+|, BACK_SLASH, SHIFT_MASK\r
+`, AT, SHIFT_MASK\r
+{, OPEN_BRACKET, SHIFT_MASK\r
++, SEMICOLON, SHIFT_MASK\r
+*, COLON, SHIFT_MASK\r
+}, CLOSE_BRACKET, SHIFT_MASK\r
+<, COMMA, SHIFT_MASK\r
+>, PERIOD, SHIFT_MASK\r
+?, SLASH, SHIFT_MASK\r
+_, BACK_SLASH, SHIFT_MASK\r
index 0dbde39..b7821c2 100644 (file)
@@ -22,6 +22,7 @@ dist.jar=${dist.dir}/Saccubus.jar
 dist.javadoc.dir=${dist.dir}/javadoc\r
 endorsed.classpath=\r
 excludes=\r
+file.reference.jmockit.jar=F:\\data\\java\\jmockit-0.998\\jmockit.jar\r
 includes=**\r
 jar.compress=false\r
 javac.classpath=\\r
@@ -44,7 +45,9 @@ javac.target=1.5
 javac.test.classpath=\\r
     ${javac.classpath}:\\r
     ${build.classes.dir}:\\r
-    ${libs.junit_4.classpath}\r
+    ${libs.junit_4.classpath}:\\r
+    ${libs.FEST-Swing.classpath}:\\r
+    ${file.reference.jmockit.jar}\r
 javadoc.additionalparam=\r
 javadoc.author=false\r
 javadoc.encoding=${source.encoding}\r
index aff93ff..5ba3343 100644 (file)
@@ -77,7 +77,7 @@ import yukihane.nicovideo.NicoDBFinder;
 public class MainFrame extends JFrame {
 
     private static final long serialVersionUID = 2564486741331062989L;
-    public static final String VERSION = "1.22r NicoBrowser\8ag\92£ 1.4.2";
+    public static final String VERSION = "1.22r NicoBrowser\8ag\92£ 1.4.4";
     public static final Image WinIcon = Toolkit.getDefaultToolkit().createImage(saccubus.MainFrame.class.getResource(
             "icon32.png"));
     // TODO GUI\82ª\96³\82¢\82½\82ß\83t\83B\81[\83\8b\83h\82É\95Û\8e\9d.
@@ -90,7 +90,7 @@ public class MainFrame extends JFrame {
     JMenu jMenuHelp = new JMenu();
     JMenuItem jMenuHelpAbout = new JMenuItem();
     JLabel statusBar = new JLabel();
-    JTabbedPane MainTabbedPane = new JTabbedPane();
+    JTabbedPane mainTabbedPane = new JTabbedPane();
     JPanel SavingInfoTabPanel = new JPanel();
     JPanel FFMpegTabPanel = new JPanel();
     JPanel VideoInfoPanel = new JPanel();
@@ -101,16 +101,37 @@ public class MainFrame extends JFrame {
     public static final String DoButtonWaitString = "\91Ò\8b@";
     JPanel UserInfoPanel = new JPanel();
     GridBagLayout gridBagLayout3 = new GridBagLayout();
-    JLabel MailAddrLabel = new JLabel();
-    JTextField MailAddrField = new JTextField();
-    JLabel PasswordLabel = new JLabel();
-    JPasswordField PasswordField = new JPasswordField();
+    // \83\86\81[\83U\90Ý\92è
+    JLabel mailAddressLabel = new JLabel();
+    JTextField mailAddressField = new JTextField();
+    JLabel passwordLabel = new JLabel();
+    JPasswordField passwordField = new JPasswordField();
     GridBagLayout gridBagLayout4 = new GridBagLayout();
     GridBagLayout gridBagLayout6 = new GridBagLayout();
     ButtonGroup CommentSaveButtonGroup = new ButtonGroup();
     ButtonGroup ConvSaveButtonGroup = new ButtonGroup();
 
+    private void setNames() {
+        mainTabbedPane.setName("mainTabbedPane");
+
+        mailAddressField.setName("mailAddressField");
+        passwordField.setName("passwordField");
+
+        ffmpegPathField.setName("ffmpegPathField");
+        vhookPathField.setName("vhookPathField");
+
+        mainOptionField.setName("mainOptionField");
+        inputOptionField.setName("inputOptionField");
+        outputOptionField.setName("outputOptionField");
+
+        fontPathField.setName("fontPathField");
+        fontIndexField.setName("fontIndexField");
+        showConvVideoCheckBox.setName("showConvVideoCheckBox");
+    }
+
     public MainFrame() {
+        setNames();
+
         videoSaveInfoPanel = savePanel.getVideoSaveInfoPanel();
 
         try {
@@ -368,8 +389,8 @@ public class MainFrame extends JFrame {
         SavingInfoTabPanel.setLayout(new GridLayout());
         UserInfoPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "\83\86\81[\83U\90Ý\92è"));
         UserInfoPanel.setLayout(gridBagLayout3);
-        MailAddrLabel.setText("\83\81\81[\83\8b\83A\83h\83\8c\83X");
-        PasswordLabel.setText("\83p\83X\83\8f\81[\83h");
+        mailAddressLabel.setText("\83\81\81[\83\8b\83A\83h\83\8c\83X");
+        passwordLabel.setText("\83p\83X\83\8f\81[\83h");
 
         setListenerToSavePanelButton();
 
@@ -395,10 +416,10 @@ public class MainFrame extends JFrame {
         SettingFontPathButton.setText("\8eQ\8fÆ");
         SettingFontPathButton.addActionListener(new MainFrame_SettingFontPathButton_actionAdapter(
                 this));
-        ShowConvVideoCheckBox.setText("\95Ï\8a·\92\86\82Ì\89æ\91\9c\82ð\95\\8e¦\82·\82é");
-        InLabel.setText("\93ü\97Í\83I\83v\83V\83\87\83\93");
-        OutLabel.setText("\8fo\97Í\83I\83v\83V\83\87\83\93");
-        MainOptionLabel.setText("\83\81\83C\83\93\83I\83v\83V\83\87\83\93");
+        showConvVideoCheckBox.setText("\95Ï\8a·\92\86\82Ì\89æ\91\9c\82ð\95\\8e¦\82·\82é");
+        inputOptionLabel.setText("\93ü\97Í\83I\83v\83V\83\87\83\93");
+        outputOptionLabel.setText("\8fo\97Í\83I\83v\83V\83\87\83\93");
+        mainOptionLabel.setText("\83\81\83C\83\93\83I\83v\83V\83\87\83\93");
         FontIndexLabel.setText("\83t\83H\83\93\83g\94Ô\8d\86");
         VideoID_Label.setText("URL/ID");
         WayBackLabel.setText("\89ß\8b\8e\83\8d\83O");
@@ -412,40 +433,40 @@ public class MainFrame extends JFrame {
         setJMenuBar(jMenuBar1);
 
         contentPane.add(statusBar, BorderLayout.SOUTH);
-        contentPane.add(MainTabbedPane, java.awt.BorderLayout.CENTER);
+        contentPane.add(mainTabbedPane, java.awt.BorderLayout.CENTER);
         contentPane.add(VideoInfoPanel, java.awt.BorderLayout.NORTH);
-        UserInfoPanel.add(PasswordField, new GridBagConstraints(1, 1, 1, 1,
+        UserInfoPanel.add(passwordField, new GridBagConstraints(1, 1, 1, 1,
                 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
                 new Insets(0, 5, 5, 5), 0, 0));
-        UserInfoPanel.add(MailAddrField, new GridBagConstraints(1, 0, 1, 1,
+        UserInfoPanel.add(mailAddressField, new GridBagConstraints(1, 0, 1, 1,
                 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
                 new Insets(0, 5, 5, 5), 0, 0));
-        UserInfoPanel.add(PasswordLabel, new GridBagConstraints(0, 1, 1, 1,
+        UserInfoPanel.add(passwordLabel, new GridBagConstraints(0, 1, 1, 1,
                 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE,
                 new Insets(0, 5, 5, 0), 0, 0));
-        UserInfoPanel.add(MailAddrLabel, new GridBagConstraints(0, 0, 1, 1,
+        UserInfoPanel.add(mailAddressLabel, new GridBagConstraints(0, 0, 1, 1,
                 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE,
                 new Insets(0, 5, 5, 0), 0, 0));
-        PathSettingPanel.add(FFmpegPathField, new GridBagConstraints(0, 1, 1,
+        PathSettingPanel.add(ffmpegPathField, new GridBagConstraints(0, 1, 1,
                 1, 1.0, 0.0, GridBagConstraints.CENTER,
                 GridBagConstraints.BOTH, new Insets(0, 5, 0, 5), 0, 0));
         PathSettingPanel.add(SettingFFmpegPathButton, gridBagConstraints74);
         PathSettingPanel.add(FFmpegPathLabel, new GridBagConstraints(0, 0, 2,
                 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE,
                 new Insets(0, 5, 5, 5), 0, 0));
-        PathSettingPanel.add(VhookPathField, new GridBagConstraints(0, 3, 1, 1,
+        PathSettingPanel.add(vhookPathField, new GridBagConstraints(0, 3, 1, 1,
                 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH,
                 new Insets(0, 5, 5, 5), 0, 0));
         PathSettingPanel.add(SettingVhookPathButton, new GridBagConstraints(1,
                 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
                 GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0));
         PathSettingPanel.add(VhookPathLabel, gridBagConstraints54);
-        FFmpegSettingPanel.add(CommandLineOutOptionField, gridBagConstraints53);
-        FFmpegSettingPanel.add(CommandLineInOptionField, gridBagConstraints52);
-        FFmpegSettingPanel.add(MainOptionField, gridBagConstraints51);
-        FFmpegSettingPanel.add(MainOptionLabel, gridBagConstraints48);
-        FFmpegSettingPanel.add(InLabel, gridBagConstraints49);
-        FFmpegSettingPanel.add(OutLabel, gridBagConstraints50);
+        FFmpegSettingPanel.add(outputOptionField, gridBagConstraints53);
+        FFmpegSettingPanel.add(inputOptionField, gridBagConstraints52);
+        FFmpegSettingPanel.add(mainOptionField, gridBagConstraints51);
+        FFmpegSettingPanel.add(mainOptionLabel, gridBagConstraints48);
+        FFmpegSettingPanel.add(inputOptionLabel, gridBagConstraints49);
+        FFmpegSettingPanel.add(outputOptionLabel, gridBagConstraints50);
         FFmpegSettingPanel.add(getFFmpegOptionComboBoxPanel(),
                 gridBagConstraints55);
         FFmpegSettingPanel.add(ExtOptionLabel, gridBagConstraints56);
@@ -459,17 +480,17 @@ public class MainFrame extends JFrame {
         OpPanel.add(WayBackLabel, gridBagConstraints69);
         OpPanel.add(WayBackField, gridBagConstraints70);
 
-        MainTabbedPane.add(BasicInfoTabPanel, "\8aî\96{\90Ý\92è");
-        MainTabbedPane.add(SavingInfoTabPanel, "\95Û\91\90Ý\92è");
-        MainTabbedPane.add(FFMpegTabPanel, "\93®\89æ\90Ý\92è");
-        MainTabbedPane.addTab("\95Ï\8a·\90Ý\92è", null, getConvertingSettingPanel(), null);
+        mainTabbedPane.add(BasicInfoTabPanel, "\8aî\96{\90Ý\92è");
+        mainTabbedPane.add(SavingInfoTabPanel, "\95Û\91\90Ý\92è");
+        mainTabbedPane.add(FFMpegTabPanel, "\93®\89æ\90Ý\92è");
+        mainTabbedPane.addTab("\95Ï\8a·\90Ý\92è", null, getConvertingSettingPanel(), null);
         SavingInfoTabPanel.add(savePanel);
         BasicInfoTabPanel.add(UserInfoPanel, gridBagConstraints7);
         BasicInfoTabPanel.add(getProxyInfoPanel(), gridBagConstraints6);
         VhookSettingPanel.add(FontPathLabel, gridBagConstraints59);
-        VhookSettingPanel.add(ShowConvVideoCheckBox, gridBagConstraints63);
-        VhookSettingPanel.add(FontPathField, gridBagConstraints60);
-        VhookSettingPanel.add(FontIndexField, gridBagConstraints62);
+        VhookSettingPanel.add(showConvVideoCheckBox, gridBagConstraints63);
+        VhookSettingPanel.add(fontPathField, gridBagConstraints60);
+        VhookSettingPanel.add(fontIndexField, gridBagConstraints62);
         VhookSettingPanel.add(FontIndexLabel, gridBagConstraints61);
         VhookSettingPanel.add(SettingFontPathButton, gridBagConstraints64);
         VhookSettingPanel.add(getFixFontSizeCheckBox(), gridBagConstraints14);
@@ -511,12 +532,12 @@ public class MainFrame extends JFrame {
     }
 
     private void setPopup() {
-        MainOptionField.addMouseListener(new PopupRightClick(
-                this.MainOptionField));
-        CommandLineInOptionField.addMouseListener(new PopupRightClick(
-                this.CommandLineInOptionField));
-        CommandLineOutOptionField.addMouseListener(new PopupRightClick(
-                this.CommandLineOutOptionField));
+        mainOptionField.addMouseListener(new PopupRightClick(
+                this.mainOptionField));
+        inputOptionField.addMouseListener(new PopupRightClick(
+                this.inputOptionField));
+        outputOptionField.addMouseListener(new PopupRightClick(
+                this.outputOptionField));
         savePanel.getCommentNumField().addMouseListener(new PopupRightClick(
                 savePanel.getCommentNumField()));
 
@@ -537,27 +558,27 @@ public class MainFrame extends JFrame {
         videoSaveInfoPanel.getNibrFileField().addMouseListener(
                 new PopupRightClick(videoSaveInfoPanel.getNibrFileField()));
 
-        FFmpegPathField.addMouseListener(new PopupRightClick(
-                this.FFmpegPathField));
-        VhookPathField.addMouseListener(new PopupRightClick(this.VhookPathField));
+        ffmpegPathField.addMouseListener(new PopupRightClick(
+                this.ffmpegPathField));
+        vhookPathField.addMouseListener(new PopupRightClick(this.vhookPathField));
         VideoID_TextField.addMouseListener(new PopupRightClick(
                 this.VideoID_TextField));
-        ViewCommentField.addMouseListener(new PopupRightClick(
-                this.ViewCommentField));
-        FontPathField.addMouseListener(new PopupRightClick(this.FontPathField));
-        MailAddrField.addMouseListener(new PopupRightClick(this.MailAddrField));
-        PasswordField.addMouseListener(new PopupRightClick(this.PasswordField));
+        viewCommentField.addMouseListener(new PopupRightClick(
+                this.viewCommentField));
+        fontPathField.addMouseListener(new PopupRightClick(this.fontPathField));
+        mailAddressField.addMouseListener(new PopupRightClick(this.mailAddressField));
+        passwordField.addMouseListener(new PopupRightClick(this.passwordField));
         WayBackField.addMouseListener(new PopupRightClick(this.WayBackField));
 
-        ProxyTextField.addMouseListener(new PopupRightClick(this.ProxyTextField));
-        ProxyPortTextField.addMouseListener(new PopupRightClick(
-                this.ProxyPortTextField));
+        proxyTextField.addMouseListener(new PopupRightClick(this.proxyTextField));
+        proxyPortTextField.addMouseListener(new PopupRightClick(
+                this.proxyPortTextField));
 
-        FontIndexField.addMouseListener(new PopupRightClick(this.FontIndexField));
+        fontIndexField.addMouseListener(new PopupRightClick(this.fontIndexField));
 
-        NGWordTextField.addMouseListener(new PopupRightClick(
-                this.NGWordTextField));
-        NGIDTextField.addMouseListener(new PopupRightClick(this.NGIDTextField));
+        ngWordTextField.addMouseListener(new PopupRightClick(
+                this.ngWordTextField));
+        ngIdTextField.addMouseListener(new PopupRightClick(this.ngIdTextField));
     }
 
     private void setDropTarget() {
@@ -571,9 +592,9 @@ public class MainFrame extends JFrame {
         addTarget(savePanel.getConvertedVideoSavedFileField(), false);
         addTarget(savePanel.getConvertedVideoSavedFolderField(), true);
 
-        addTarget(FFmpegPathField, false);
-        addTarget(VhookPathField, false);
-        addTarget(FontPathField, false);
+        addTarget(ffmpegPathField, false);
+        addTarget(vhookPathField, false);
+        addTarget(fontPathField, false);
 
     }
 
@@ -588,23 +609,22 @@ public class MainFrame extends JFrame {
                 c, isDir), true);
     }
     private File CurrentDir = new File(".");
-    JPanel PathSettingPanel = new JPanel();
-    JLabel FFmpegPathLabel = new JLabel();
-    GridBagLayout gridBagLayout7 = new GridBagLayout();
-    JTextField FFmpegPathField = new JTextField();
-    JButton SettingFFmpegPathButton = new JButton();
-    JLabel VhookPathLabel = new JLabel();
-    JTextField VhookPathField = new JTextField();
-    JButton SettingVhookPathButton = new JButton();
-    JPanel VhookSettingPanel = new JPanel();
-    GridBagLayout gridBagLayout8 = new GridBagLayout();
-    JPanel FFmpegSettingPanel = new JPanel();
-    GridBagLayout gridBagLayout9 = new GridBagLayout();
-    JLabel FontPathLabel = new JLabel();
-    JTextField FontPathField = new JTextField();
-    JButton SettingFontPathButton = new JButton();
-    JCheckBox ShowConvVideoCheckBox = new JCheckBox();
-    JTextField CommandLineOutOptionField = new JTextField();
+    private JPanel PathSettingPanel = new JPanel();
+    private JLabel FFmpegPathLabel = new JLabel();
+    private GridBagLayout gridBagLayout7 = new GridBagLayout();
+    private JTextField ffmpegPathField = new JTextField();
+    private JButton SettingFFmpegPathButton = new JButton();
+    private JLabel VhookPathLabel = new JLabel();
+    private JTextField vhookPathField = new JTextField();
+    private JButton SettingVhookPathButton = new JButton();
+    private JPanel VhookSettingPanel = new JPanel();
+    private GridBagLayout gridBagLayout8 = new GridBagLayout();
+    private JPanel FFmpegSettingPanel = new JPanel();
+    private GridBagLayout gridBagLayout9 = new GridBagLayout();
+    private JLabel FontPathLabel = new JLabel();
+    private JTextField fontPathField = new JTextField();
+    private JButton SettingFontPathButton = new JButton();
+    private JCheckBox showConvVideoCheckBox = new JCheckBox();
 
     private void showSaveDialog(String title, JTextField field, boolean isSave,
             boolean isDir) {
@@ -621,7 +641,7 @@ public class MainFrame extends JFrame {
         }
         if (code == JFileChooser.APPROVE_OPTION) {
             if (isDir) {
-                CurrentDir = chooser.getCurrentDirectory();
+                CurrentDir = chooser.getSelectedFile();
                 field.setText(CurrentDir.getAbsolutePath());
             } else {
                 File selected = chooser.getSelectedFile();
@@ -651,16 +671,16 @@ public class MainFrame extends JFrame {
         // \8aî\96{\90Ý\92è
         final BasicSetting basic = setting.getBasicSetting();
         tempDir = basic.getTempDir();
-        MailAddrField.setText(basic.getUser().getMail());
-        PasswordField.setText(basic.getUser().getPassword());
+        mailAddressField.setText(basic.getUser().getMail());
+        passwordField.setText(basic.getUser().getPassword());
         // \83v\83\8d\83L\83V\8aÖ\98A
-        UseProxyCheckBox.setSelected(basic.isProxyUse());
-        ProxyTextField.setText(basic.getProxyHost());
+        useProxyCheckBox.setSelected(basic.isProxyUse());
+        proxyTextField.setText(basic.getProxyHost());
         int proxy_port = basic.getProxyPort();
         if (proxy_port >= 0 && proxy_port <= 65535) {
-            ProxyPortTextField.setText(Integer.toString(proxy_port));
+            proxyPortTextField.setText(Integer.toString(proxy_port));
         } else {
-            ProxyPortTextField.setText("");
+            proxyPortTextField.setText("");
         }
 
         // \95Û\91\90Ý\92è - \93ü\97Í\93®\89æ
@@ -722,26 +742,26 @@ public class MainFrame extends JFrame {
 
         // \93®\89æ\90Ý\92è
         final MovieSetting movie = setting.getMovieSetting();
-        FFmpegPathField.setText(movie.getFfmpeg().toString());
-        VhookPathField.setText(movie.getVhook().toString());
-        ExtOptionField.setText(movie.getFfmpegOption().getExtOption());
-        MainOptionField.setText(movie.getFfmpegOption().getMainOption());
-        CommandLineOutOptionField.setText(movie.getFfmpegOption().getOutOption());
-        CommandLineInOptionField.setText(movie.getFfmpegOption().getInOption());
+        ffmpegPathField.setText(movie.getFfmpeg().toString());
+        vhookPathField.setText(movie.getVhook().toString());
+        extOptionField.setText(movie.getFfmpegOption().getExtOption());
+        mainOptionField.setText(movie.getFfmpegOption().getMainOption());
+        outputOptionField.setText(movie.getFfmpegOption().getOutOption());
+        inputOptionField.setText(movie.getFfmpegOption().getInOption());
         FFmpegOptionModel.reload(movie.getOptionFile());
 
         // \95Ï\8a·\90Ý\92è
         final ConvertSetting conv = setting.getConvertSetting();
-        NotUseVhookCheckBox.setSelected(conv.isVhookDisabled());
-        ViewCommentField.setText(Integer.toString(conv.getMaxNumOfComment()));
-        FontPathField.setText(conv.getFont().toString());
-        FontIndexField.setText(Integer.toString(conv.getFontIndex()));
-        ShadowComboBox.setSelectedIndex(conv.getShadowIndex());
-        ShowConvVideoCheckBox.setSelected(conv.isShowConverting());
-        FixFontSizeCheckBox.setSelected(conv.isSelfAdjustFontSize());
-        OpaqueCommentCheckBox.setSelected(conv.isCommentOpaque());
-        NGWordTextField.setText(conv.getNgSetting().getWord());
-        NGIDTextField.setText(conv.getNgSetting().getId());
+        disableVhookCheckBox.setSelected(conv.isVhookDisabled());
+        viewCommentField.setText(Integer.toString(conv.getMaxNumOfComment()));
+        fontPathField.setText(conv.getFont().toString());
+        fontIndexField.setText(Integer.toString(conv.getFontIndex()));
+        shadowComboBox.setSelectedIndex(conv.getShadowIndex());
+        showConvVideoCheckBox.setSelected(conv.isShowConverting());
+        fixFontSizeCheckBox.setSelected(conv.isSelfAdjustFontSize());
+        opaqueCommentCheckBox.setSelected(conv.isCommentOpaque());
+        ngWordTextField.setText(conv.getNgSetting().getWord());
+        ngIdTextField.setText(conv.getNgSetting().getId());
     }
 
     /**
@@ -770,38 +790,38 @@ public class MainFrame extends JFrame {
     }
 
     /* \95Ï\8a·\81E\95Û\91\82·\82é */
-    Converter Converter = null;
-    JTextField CommandLineInOptionField = new JTextField();
-    JLabel InLabel = new JLabel();
-    JLabel OutLabel = new JLabel();
-    JLabel MainOptionLabel = new JLabel();
-    JTextField MainOptionField = new JTextField();
-    JLabel FontIndexLabel = new JLabel();
-    JTextField FontIndexField = new JTextField();
-    JLabel VideoID_Label = new JLabel();
-    JLabel WayBackLabel = new JLabel();
-    JTextField WayBackField = new JTextField();
-    GridBagLayout gridBagLayout10 = new GridBagLayout();
-    GridBagLayout gridBagLayout11 = new GridBagLayout();
-    GridBagLayout gridBagLayout1 = new GridBagLayout();
-    JPanel OpPanel = new JPanel();
-    GridLayout gridLayout1 = new GridLayout();
-    JPanel BasicInfoTabPanel = new JPanel();
-    GridBagLayout gridBagLayout12 = new GridBagLayout();
+    private Converter Converter = null;
+    private JLabel inputOptionLabel = new JLabel();
+    private JTextField inputOptionField = new JTextField();
+    private JLabel outputOptionLabel = new JLabel();
+    private JTextField outputOptionField = new JTextField();
+    private JLabel mainOptionLabel = new JLabel();
+    private JTextField mainOptionField = new JTextField();
+    private JLabel FontIndexLabel = new JLabel();
+    private JTextField fontIndexField = new JTextField();
+    private JLabel VideoID_Label = new JLabel();
+    private JLabel WayBackLabel = new JLabel();
+    private JTextField WayBackField = new JTextField();
+    private GridBagLayout gridBagLayout1 = new GridBagLayout();
+    private JPanel OpPanel = new JPanel();
+    private JPanel BasicInfoTabPanel = new JPanel();
+    private GridBagLayout gridBagLayout12 = new GridBagLayout();
     private JPanel ConvertingSettingPanel = null;
     private JPanel NGWordSettingPanel = null;
     private JLabel NGWordLavel = null;
-    private JTextField NGWordTextField = null;
+    private JTextField ngWordTextField = null;
     private JLabel NGIDLabel = null;
-    private JTextField NGIDTextField = null;
+    private JTextField ngIdTextField = null;
+    // \83v\83\8d\83L\83V\90Ý\92è
     private JPanel ProxyInfoPanel = null;
-    private JLabel ProxyLabel = null;
-    private JTextField ProxyTextField = null;
-    private JLabel ProxyPortLabel = null;
-    private JTextField ProxyPortTextField = null;
-    private JCheckBox UseProxyCheckBox = null;
-    private JCheckBox FixFontSizeCheckBox = null;
-    private JCheckBox OpaqueCommentCheckBox = null;
+    private JCheckBox useProxyCheckBox = null;
+    private JLabel proxyLabel = null;
+    private JTextField proxyTextField = null;
+    private JLabel proxyPortLabel = null;
+    private JTextField proxyPortTextField = null;
+    //
+    private JCheckBox fixFontSizeCheckBox = null;
+    private JCheckBox opaqueCommentCheckBox = null;
     private final SavePanel savePanel = new SavePanel();
     private final VideoSaveInfoPanel videoSaveInfoPanel;
     private JComboBox FFmpegOptionComboBox = null;
@@ -889,15 +909,15 @@ public class MainFrame extends JFrame {
 
     /* FFmpeg\82Ö\82Ì\83p\83X */
     public void SettingFFmpegPathButton_actionPerformed(ActionEvent e) {
-        showSaveDialog("FFmpeg\82Ö\82Ì\83p\83X", FFmpegPathField, false, false);
+        showSaveDialog("FFmpeg\82Ö\82Ì\83p\83X", ffmpegPathField, false, false);
     }
 
     public void SettingVhookPathButton_actionPerformed(ActionEvent e) {
-        showSaveDialog("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82Ö\82Ì\83p\83X", VhookPathField, false, false);
+        showSaveDialog("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82Ö\82Ì\83p\83X", vhookPathField, false, false);
     }
 
     public void SettingFontPathButton_actionPerformed(ActionEvent e) {
-        showSaveDialog("\83t\83H\83\93\83g\82Ö\82Ì\83p\83X", FontPathField, false, false);
+        showSaveDialog("\83t\83H\83\93\83g\82Ö\82Ì\83p\83X", fontPathField, false, false);
     }
 
     public void this_windowClosing(WindowEvent e) {
@@ -985,10 +1005,11 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JTextField
      */
     private JTextField getNGWordTextField() {
-        if (NGWordTextField == null) {
-            NGWordTextField = new JTextField();
+        if (ngWordTextField == null) {
+            ngWordTextField = new JTextField();
+            ngWordTextField.setName("ngWordTextField");
         }
-        return NGWordTextField;
+        return ngWordTextField;
     }
 
     /**
@@ -997,10 +1018,11 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JTextField
      */
     private JTextField getNGIDTextField() {
-        if (NGIDTextField == null) {
-            NGIDTextField = new JTextField();
+        if (ngIdTextField == null) {
+            ngIdTextField = new JTextField();
+            ngIdTextField.setName("ngIdTextField");
         }
-        return NGIDTextField;
+        return ngIdTextField;
     }
 
     /**
@@ -1027,8 +1049,8 @@ public class MainFrame extends JFrame {
             gridBagConstraints10.gridx = 0;
             gridBagConstraints10.insets = new Insets(5, 5, 5, 5);
             gridBagConstraints10.gridy = 2;
-            ProxyPortLabel = new JLabel();
-            ProxyPortLabel.setText("\83|\81[\83g\94Ô\8d\86");
+            proxyPortLabel = new JLabel();
+            proxyPortLabel.setText("\83|\81[\83g\94Ô\8d\86");
             GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
             gridBagConstraints9.fill = GridBagConstraints.BOTH;
             gridBagConstraints9.gridy = 1;
@@ -1041,15 +1063,15 @@ public class MainFrame extends JFrame {
             gridBagConstraints8.fill = GridBagConstraints.NONE;
             gridBagConstraints8.anchor = GridBagConstraints.EAST;
             gridBagConstraints8.gridy = 1;
-            ProxyLabel = new JLabel();
-            ProxyLabel.setText("\83v\83\8d\83L\83V");
+            proxyLabel = new JLabel();
+            proxyLabel.setText("\83v\83\8d\83L\83V");
             ProxyInfoPanel = new JPanel();
             ProxyInfoPanel.setLayout(new GridBagLayout());
             ProxyInfoPanel.setBorder(BorderFactory.createTitledBorder(null,
                     "\83v\83\8d\83L\83V\90Ý\92è"));
-            ProxyInfoPanel.add(ProxyLabel, gridBagConstraints8);
+            ProxyInfoPanel.add(proxyLabel, gridBagConstraints8);
             ProxyInfoPanel.add(getProxyTextField(), gridBagConstraints9);
-            ProxyInfoPanel.add(ProxyPortLabel, gridBagConstraints10);
+            ProxyInfoPanel.add(proxyPortLabel, gridBagConstraints10);
             ProxyInfoPanel.add(getProxyPortTextField(), gridBagConstraints12);
             ProxyInfoPanel.add(getUseProxyCheckBox(), gridBagConstraints13);
         }
@@ -1062,10 +1084,11 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JTextField
      */
     private JTextField getProxyTextField() {
-        if (ProxyTextField == null) {
-            ProxyTextField = new JTextField();
+        if (proxyTextField == null) {
+            proxyTextField = new JTextField();
+            proxyTextField.setName("proxyTextField");
         }
-        return ProxyTextField;
+        return proxyTextField;
     }
 
     /**
@@ -1074,10 +1097,11 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JTextField
      */
     private JTextField getProxyPortTextField() {
-        if (ProxyPortTextField == null) {
-            ProxyPortTextField = new JTextField();
+        if (proxyPortTextField == null) {
+            proxyPortTextField = new JTextField();
+            proxyPortTextField.setName("proxyPortTextField");
         }
-        return ProxyPortTextField;
+        return proxyPortTextField;
     }
 
     /**
@@ -1086,11 +1110,12 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JCheckBox
      */
     private JCheckBox getUseProxyCheckBox() {
-        if (UseProxyCheckBox == null) {
-            UseProxyCheckBox = new JCheckBox();
-            UseProxyCheckBox.setText("\83v\83\8d\83L\83V\82ð\8eg\82¤");
+        if (useProxyCheckBox == null) {
+            useProxyCheckBox = new JCheckBox();
+            useProxyCheckBox.setText("\83v\83\8d\83L\83V\82ð\8eg\82¤");
+            useProxyCheckBox.setName("useProxyCheckBox");
         }
-        return UseProxyCheckBox;
+        return useProxyCheckBox;
     }
 
     /**
@@ -1099,11 +1124,12 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JCheckBox
      */
     private JCheckBox getFixFontSizeCheckBox() {
-        if (FixFontSizeCheckBox == null) {
-            FixFontSizeCheckBox = new JCheckBox();
-            FixFontSizeCheckBox.setText("\83t\83H\83\93\83g\83T\83C\83Y\82ð\89æ\96Ê\82É\82 \82í\82¹\82Ä\8e©\93®\92²\90®\82·\82é");
+        if (fixFontSizeCheckBox == null) {
+            fixFontSizeCheckBox = new JCheckBox();
+            fixFontSizeCheckBox.setText("\83t\83H\83\93\83g\83T\83C\83Y\82ð\89æ\96Ê\82É\82 \82í\82¹\82Ä\8e©\93®\92²\90®\82·\82é");
+            fixFontSizeCheckBox.setName("fixFontSizeCheckBox");
         }
-        return FixFontSizeCheckBox;
+        return fixFontSizeCheckBox;
     }
 
     /**
@@ -1112,11 +1138,12 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JCheckBox
      */
     private JCheckBox getOpaqueCommentCheckBox() {
-        if (OpaqueCommentCheckBox == null) {
-            OpaqueCommentCheckBox = new JCheckBox();
-            OpaqueCommentCheckBox.setText("\91S\82Ä\82Ì\83R\83\81\83\93\83g\82ð\95s\93§\96¾\82É\82·\82é");
+        if (opaqueCommentCheckBox == null) {
+            opaqueCommentCheckBox = new JCheckBox();
+            opaqueCommentCheckBox.setText("\91S\82Ä\82Ì\83R\83\81\83\93\83g\82ð\95s\93§\96¾\82É\82·\82é");
+            opaqueCommentCheckBox.setName("opaqueCommentCheckBox");
         }
-        return OpaqueCommentCheckBox;
+        return opaqueCommentCheckBox;
     }
     /**
      * This method initializes FFmpegOptionComboBox
@@ -1125,12 +1152,12 @@ public class MainFrame extends JFrame {
      */
     private final OptionComboBoxModel FFmpegOptionModel = new OptionComboBoxModel();
     private JLabel ExtOptionLabel = null;
-    private JTextField ExtOptionField = null;
-    private JCheckBox NotUseVhookCheckBox = null;
-    private JTextField ViewCommentField = null;
+    private JTextField extOptionField = null;
+    private JCheckBox disableVhookCheckBox = null;
+    private JTextField viewCommentField = null;
     private JLabel ViewCommentLabel = null;
     private JLabel ShadowKindLabel = null;
-    private JComboBox ShadowComboBox = null;
+    private JComboBox shadowComboBox = null;
 
     private JComboBox getFFmpegOptionComboBox() {
         if (FFmpegOptionComboBox == null) {
@@ -1139,15 +1166,15 @@ public class MainFrame extends JFrame {
 
                 public void actionPerformed(java.awt.event.ActionEvent e) {
                     if (FFmpegOptionModel.isFile()) {// \83t\83@\83C\83\8b
-                        ExtOptionField.setEnabled(false);
-                        MainOptionField.setEnabled(false);
-                        CommandLineInOptionField.setEnabled(false);
-                        CommandLineOutOptionField.setEnabled(false);
+                        extOptionField.setEnabled(false);
+                        mainOptionField.setEnabled(false);
+                        inputOptionField.setEnabled(false);
+                        outputOptionField.setEnabled(false);
                     } else {// \83t\83@\83C\83\8b\82Å\82È\82¢
-                        ExtOptionField.setEnabled(true);
-                        MainOptionField.setEnabled(true);
-                        CommandLineInOptionField.setEnabled(true);
-                        CommandLineOutOptionField.setEnabled(true);
+                        extOptionField.setEnabled(true);
+                        mainOptionField.setEnabled(true);
+                        inputOptionField.setEnabled(true);
+                        outputOptionField.setEnabled(true);
                     }
                 }
             });
@@ -1209,10 +1236,11 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JTextField
      */
     private JTextField getExtOptionField() {
-        if (ExtOptionField == null) {
-            ExtOptionField = new JTextField();
+        if (extOptionField == null) {
+            extOptionField = new JTextField();
+            extOptionField.setName("extOptionField");
         }
-        return ExtOptionField;
+        return extOptionField;
     }
 
     /**
@@ -1221,11 +1249,12 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JCheckBox
      */
     private JCheckBox getNotUseVhookCheckBox() {
-        if (NotUseVhookCheckBox == null) {
-            NotUseVhookCheckBox = new JCheckBox();
-            NotUseVhookCheckBox.setText("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82ð\96³\8cø\82É\82·\82é\81i\83f\83o\83b\83O\97p\81j");
+        if (disableVhookCheckBox == null) {
+            disableVhookCheckBox = new JCheckBox();
+            disableVhookCheckBox.setText("\8ag\92£vhook\83\89\83C\83u\83\89\83\8a\82ð\96³\8cø\82É\82·\82é\81i\83f\83o\83b\83O\97p\81j");
+            disableVhookCheckBox.setName("disableVhookCheckBox");
         }
-        return NotUseVhookCheckBox;
+        return disableVhookCheckBox;
     }
 
     /**
@@ -1234,10 +1263,11 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JTextField
      */
     private JTextField getViewCommentField() {
-        if (ViewCommentField == null) {
-            ViewCommentField = new JTextField();
+        if (viewCommentField == null) {
+            viewCommentField = new JTextField();
+            viewCommentField.setName("viewCommentField");
         }
-        return ViewCommentField;
+        return viewCommentField;
     }
 
     /**
@@ -1246,20 +1276,21 @@ public class MainFrame extends JFrame {
      * @return javax.swing.JComboBox
      */
     private JComboBox getShadowComboBox() {
-        if (ShadowComboBox == null) {
-            ShadowComboBox = new JComboBox(SProperties.ShadowKindArray);
+        if (shadowComboBox == null) {
+            shadowComboBox = new JComboBox(SProperties.ShadowKindArray);
+            shadowComboBox.setName("shadowComboBox");
         }
-        return ShadowComboBox;
+        return shadowComboBox;
     }
 
     private BasicSetting getBasicSetting() {
-        String mail = MailAddrField.getText();
-        String pass = String.valueOf(PasswordField.getPassword());
-        boolean proxyUse = UseProxyCheckBox.isSelected();
-        String proxyHost = ProxyTextField.getText();
+        String mail = mailAddressField.getText();
+        String pass = String.valueOf(passwordField.getPassword());
+        boolean proxyUse = useProxyCheckBox.isSelected();
+        String proxyHost = proxyTextField.getText();
         int proxyPort;
         try {
-            proxyPort = Integer.parseInt(ProxyPortTextField.getText());
+            proxyPort = Integer.parseInt(proxyPortTextField.getText());
         } catch (NumberFormatException e) {
             proxyPort = -1;
         }
@@ -1330,12 +1361,12 @@ public class MainFrame extends JFrame {
     }
 
     private MovieSetting getMovieSetting() {
-        String ffmpeg = FFmpegPathField.getText();
-        String vhook = VhookPathField.getText();
-        String ext = ExtOptionField.getText();
-        String main = MainOptionField.getText();
-        String in = CommandLineInOptionField.getText();
-        String out = CommandLineOutOptionField.getText();
+        String ffmpeg = ffmpegPathField.getText();
+        String vhook = vhookPathField.getText();
+        String ext = extOptionField.getText();
+        String main = mainOptionField.getText();
+        String in = inputOptionField.getText();
+        String out = outputOptionField.getText();
         File optionFile = FFmpegOptionModel.getSelectedFile();
 
         FfmpegOption opt = new FfmpegOption(ext, main, in, out);
@@ -1343,19 +1374,19 @@ public class MainFrame extends JFrame {
     }
 
     private ConvertSetting getConvertSetting() {
-        boolean vhookDisabled = NotUseVhookCheckBox.isSelected();
+        boolean vhookDisabled = disableVhookCheckBox.isSelected();
         int maxComment = 30;
         try {
-            maxComment = Integer.parseInt(ViewCommentField.getText());
+            maxComment = Integer.parseInt(viewCommentField.getText());
         } catch (NumberFormatException ex) {
         }
-        File font = new File(FontPathField.getText());
-        int fontIndex = Integer.parseInt(FontIndexField.getText());
-        int shadowIndex = ShadowComboBox.getSelectedIndex();
-        boolean showConv = ShowConvVideoCheckBox.isSelected();
-        boolean adjustFont = FixFontSizeCheckBox.isSelected();
-        boolean commentOpaque = OpaqueCommentCheckBox.isSelected();
-        NgSetting ngSetting = new NgSetting(NGWordTextField.getText(), NGIDTextField.getText());
+        File font = new File(fontPathField.getText());
+        int fontIndex = Integer.parseInt(fontIndexField.getText());
+        int shadowIndex = shadowComboBox.getSelectedIndex();
+        boolean showConv = showConvVideoCheckBox.isSelected();
+        boolean adjustFont = fixFontSizeCheckBox.isSelected();
+        boolean commentOpaque = opaqueCommentCheckBox.isSelected();
+        NgSetting ngSetting = new NgSetting(ngWordTextField.getText(), ngIdTextField.getText());
 
         return new ConvertSetting(vhookDisabled, maxComment, font, fontIndex, shadowIndex, showConv, adjustFont,
                 commentOpaque, ngSetting);
@@ -1406,7 +1437,7 @@ public class MainFrame extends JFrame {
                 field = savePanel.getCommentSavedFolderField();
                 isSave = true;
                 isDir = true;
-            } else if (source == savePanel.getShowSavingCommentFolderDialogButton()) {
+            } else if (source == savePanel.getShowSavingCommentFileDialogButton()) {
                 title = "\83R\83\81\83\93\83g\82Ì\95Û\91\90æ(\83t\83@\83C\83\8b)";
                 field = savePanel.getCommentSavedFileField();
                 isSave = true;
index 0753911..c973b44 100644 (file)
@@ -9,9 +9,6 @@
     <Component class="javax.swing.ButtonGroup" name="inputTcommentSaveGroup">
     </Component>
   </NonVisualComponents>
-  <SyntheticProperties>
-    <SyntheticProperty name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,41,0,0,1,118"/>
-  </SyntheticProperties>
   <AuxValues>
     <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
   <Layout>
     <DimensionLayout dim="0">
       <Group type="103" groupAlignment="0" attributes="0">
-          <Component id="jTabbedPane1" alignment="0" pref="374" max="32767" attributes="0"/>
+          <Component id="saveTabbedPane" alignment="0" pref="374" max="32767" attributes="0"/>
       </Group>
     </DimensionLayout>
     <DimensionLayout dim="1">
       <Group type="103" groupAlignment="0" attributes="0">
-          <Component id="jTabbedPane1" alignment="0" pref="297" max="32767" attributes="0"/>
+          <Component id="saveTabbedPane" alignment="0" pref="297" max="32767" attributes="0"/>
       </Group>
     </DimensionLayout>
   </Layout>
   <SubComponents>
-    <Container class="javax.swing.JTabbedPane" name="jTabbedPane1">
+    <Container class="javax.swing.JTabbedPane" name="saveTabbedPane">
+      <Properties>
+        <Property name="name" type="java.lang.String" value="saveTabbedPane" noResource="true"/>
+      </Properties>
 
       <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
       <SubComponents>
@@ -87,7 +87,7 @@
                   <Group type="102" alignment="0" attributes="0">
                       <EmptySpace max="-2" attributes="0"/>
                       <Component id="commentSaveInfoPanel" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace pref="27" max="32767" attributes="0"/>
+                      <EmptySpace pref="30" max="32767" attributes="0"/>
                   </Group>
               </Group>
             </DimensionLayout>
                 <Component class="javax.swing.JCheckBox" name="savingCommentCheckBox">
                   <Properties>
                     <Property name="text" type="java.lang.String" value="&#x30b3;&#x30e1;&#x30f3;&#x30c8;&#x3092;&#x30c0;&#x30a6;&#x30f3;&#x30ed;&#x30fc;&#x30c9;&#x3059;&#x308b;"/>
+                    <Property name="name" type="java.lang.String" value="savingCommentCheckBox" noResource="true"/>
                   </Properties>
                 </Component>
                 <Container class="javax.swing.JPanel" name="jPanel7">
                                   <Group type="102" alignment="0" attributes="0">
                                       <EmptySpace min="21" pref="21" max="-2" attributes="0"/>
                                       <Group type="103" groupAlignment="0" attributes="0">
-                                          <Component id="commentSavedFileField" pref="194" max="32767" attributes="1"/>
-                                          <Component id="commentSavedFolderField" alignment="0" pref="194" max="32767" attributes="1"/>
+                                          <Component id="commentSavedFileField" pref="197" max="32767" attributes="1"/>
+                                          <Component id="commentSavedFolderField" alignment="0" pref="197" max="32767" attributes="1"/>
                                       </Group>
                                       <EmptySpace max="-2" attributes="0"/>
                                       <Group type="103" groupAlignment="1" attributes="0">
                     <Component class="javax.swing.JCheckBox" name="delCommentCheckBox">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x5909;&#x63db;&#x5f8c;&#x306b;&#x30b3;&#x30e1;&#x30f3;&#x30c8;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x3092;&#x524a;&#x9664;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="delCommentCheckBox" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JCheckBox" name="fixCommentNumCheckBox">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x30b3;&#x30e1;&#x30f3;&#x30c8;&#x53d6;&#x5f97;&#x6570;&#x306f;&#x81ea;&#x52d5;&#x3067;&#x8abf;&#x6574;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="fixCommentNumCheckBox" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JLabel" name="jLabel1">
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JTextField" name="commentNumField">
+                      <Properties>
+                        <Property name="name" type="java.lang.String" value="commentNumField" noResource="true"/>
+                      </Properties>
                     </Component>
                     <Component class="javax.swing.JRadioButton" name="commentSaveFolderRadioButton">
                       <Properties>
                           <ComponentRef name="inputCommentSaveGroup"/>
                         </Property>
                         <Property name="text" type="java.lang.String" value="&#x4fdd;&#x5b58;&#x3059;&#x308b;&#x30d5;&#x30a9;&#x30eb;&#x30c0;&#x3092;&#x6307;&#x5b9a;&#x3057;&#x3001;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x306f;&#x81ea;&#x52d5;&#x3067;&#x6c7a;&#x5b9a;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="commentSaveFolderRadioButton" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JTextField" name="commentSavedFolderField">
+                      <Properties>
+                        <Property name="name" type="java.lang.String" value="commentSavedFolderField" noResource="true"/>
+                      </Properties>
                     </Component>
                     <Component class="javax.swing.JButton" name="showSavingCommentFolderDialogButton">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x53c2;&#x7167;..."/>
+                        <Property name="name" type="java.lang.String" value="showSavingCommentFolderDialogButton" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JRadioButton" name="commentSaveFileRadioButton">
                           <ComponentRef name="inputCommentSaveGroup"/>
                         </Property>
                         <Property name="text" type="java.lang.String" value="&#x4fdd;&#x5b58;&#x3059;&#x308b;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x3092;&#x6307;&#x5b9a;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="commentSaveFileRadioButton" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JTextField" name="commentSavedFileField">
+                      <Properties>
+                        <Property name="name" type="java.lang.String" value="commentSavedFileField" noResource="true"/>
+                      </Properties>
                     </Component>
                     <Component class="javax.swing.JButton" name="showSavingCommentFileDialogButton">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x53c2;&#x7167;..."/>
+                        <Property name="name" type="java.lang.String" value="showSavingCommentFileDialogButton" noResource="true"/>
                       </Properties>
                     </Component>
                   </SubComponents>
                   <Group type="102" alignment="0" attributes="0">
                       <EmptySpace max="-2" attributes="0"/>
                       <Component id="tcommentSaveInfoPanel" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace pref="71" max="32767" attributes="0"/>
+                      <EmptySpace pref="74" max="32767" attributes="0"/>
                   </Group>
               </Group>
             </DimensionLayout>
                 <Component class="javax.swing.JCheckBox" name="needDownloadTcomment">
                   <Properties>
                     <Property name="text" type="java.lang.String" value="&#x30b3;&#x30e1;&#x30f3;&#x30c8;&#x3092;&#x30c0;&#x30a6;&#x30f3;&#x30ed;&#x30fc;&#x30c9;&#x3059;&#x308b;"/>
+                    <Property name="name" type="java.lang.String" value="needDownloadTcomment" noResource="true"/>
                   </Properties>
                 </Component>
                 <Container class="javax.swing.JPanel" name="jPanel8">
                               <Group type="103" groupAlignment="0" attributes="0">
                                   <Component id="delTcomment" alignment="0" min="-2" max="-2" attributes="0"/>
                                   <Component id="tcommentSaveInFolder" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="tcommentFolder" pref="206" max="32767" attributes="1"/>
+                                      <EmptySpace min="-2" max="-2" attributes="0"/>
+                                      <Component id="tcoomentFolderChooserButton" min="-2" max="-2" attributes="0"/>
+                                  </Group>
+                                  <Component id="tcommentSaveToFile" alignment="0" min="-2" max="-2" attributes="0"/>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="tcommentFile" pref="206" max="32767" attributes="1"/>
+                                      <EmptySpace min="-2" max="-2" attributes="0"/>
+                                      <Component id="tcommentFileChooserButton" min="-2" max="-2" attributes="0"/>
+                                  </Group>
                               </Group>
                               <EmptySpace max="-2" attributes="0"/>
                           </Group>
-                          <Group type="102" alignment="0" attributes="0">
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Component id="tcommentFolder" pref="202" max="32767" attributes="1"/>
-                              <EmptySpace min="-2" max="-2" attributes="0"/>
-                              <Component id="tcoomentFolderChooserButton" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace min="-2" max="-2" attributes="0"/>
-                          </Group>
-                          <Group type="102" alignment="0" attributes="0">
-                              <Component id="tcommentSaveToFile" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace max="-2" attributes="0"/>
-                          </Group>
-                          <Group type="102" alignment="0" attributes="0">
-                              <EmptySpace max="-2" attributes="0"/>
-                              <Component id="tcommentFile" pref="202" max="32767" attributes="1"/>
-                              <EmptySpace min="-2" max="-2" attributes="0"/>
-                              <Component id="tcommentFileChooserButton" min="-2" max="-2" attributes="0"/>
-                              <EmptySpace min="-2" max="-2" attributes="0"/>
-                          </Group>
                       </Group>
                     </DimensionLayout>
                     <DimensionLayout dim="1">
                     <Component class="javax.swing.JCheckBox" name="delTcomment">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x5909;&#x63db;&#x5f8c;&#x306b;&#x30b3;&#x30e1;&#x30f3;&#x30c8;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x3092;&#x524a;&#x9664;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="delTcomment" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JRadioButton" name="tcommentSaveInFolder">
                           <ComponentRef name="inputTcommentSaveGroup"/>
                         </Property>
                         <Property name="text" type="java.lang.String" value="&#x4fdd;&#x5b58;&#x3059;&#x308b;&#x30d5;&#x30a9;&#x30eb;&#x30c0;&#x3092;&#x6307;&#x5b9a;&#x3057;&#x3001;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x306f;&#x81ea;&#x52d5;&#x3067;&#x6c7a;&#x5b9a;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="tcommentSaveInFolder" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JTextField" name="tcommentFolder">
+                      <Properties>
+                        <Property name="name" type="java.lang.String" value="tcommentFolder" noResource="true"/>
+                      </Properties>
                     </Component>
                     <Component class="javax.swing.JButton" name="tcoomentFolderChooserButton">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x53c2;&#x7167;..."/>
+                        <Property name="name" type="java.lang.String" value="tcoomentFolderChooserButton" noResource="true"/>
                       </Properties>
+                      <Events>
+                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="tcoomentFolderChooserButtonActionPerformed"/>
+                      </Events>
                     </Component>
                     <Component class="javax.swing.JRadioButton" name="tcommentSaveToFile">
                       <Properties>
                           <ComponentRef name="inputTcommentSaveGroup"/>
                         </Property>
                         <Property name="text" type="java.lang.String" value="&#x4fdd;&#x5b58;&#x3059;&#x308b;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x3092;&#x6307;&#x5b9a;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="tcommentSaveToFile" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JTextField" name="tcommentFile">
+                      <Properties>
+                        <Property name="name" type="java.lang.String" value="tcommentFile" noResource="true"/>
+                      </Properties>
                     </Component>
                     <Component class="javax.swing.JButton" name="tcommentFileChooserButton">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x53c2;&#x7167;..."/>
+                        <Property name="name" type="java.lang.String" value="tcommentFileChooserButton" noResource="true"/>
                       </Properties>
+                      <Events>
+                        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="tcommentFileChooserButtonActionPerformed"/>
+                      </Events>
                     </Component>
                   </SubComponents>
                 </Container>
                   <Group type="102" alignment="0" attributes="0">
                       <EmptySpace max="-2" attributes="0"/>
                       <Component id="jPanel3" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace max="32767" attributes="0"/>
+                      <EmptySpace pref="15" max="32767" attributes="0"/>
                   </Group>
               </Group>
             </DimensionLayout>
                   <Group type="102" alignment="0" attributes="0">
                       <EmptySpace max="-2" attributes="0"/>
                       <Component id="jPanel3" min="-2" max="-2" attributes="0"/>
-                      <EmptySpace pref="35" max="32767" attributes="0"/>
+                      <EmptySpace pref="38" max="32767" attributes="0"/>
                   </Group>
               </Group>
             </DimensionLayout>
                 <Component class="javax.swing.JCheckBox" name="savingConvertedVideoCheckBox">
                   <Properties>
                     <Property name="text" type="java.lang.String" value="&#x52d5;&#x753b;&#x3092;&#x5909;&#x63db;&#x3059;&#x308b;"/>
+                    <Property name="name" type="java.lang.String" value="savingConvertedVideoCheckBox" noResource="true"/>
                   </Properties>
                 </Component>
                 <Container class="javax.swing.JPanel" name="jPanel5">
                     <Component class="javax.swing.JCheckBox" name="addComment">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x30b3;&#x30e1;&#x30f3;&#x30c8;&#x3092;&#x3064;&#x3051;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="addComment" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JCheckBox" name="addTcomment">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x6295;&#x7a3f;&#x8005;&#x30b3;&#x30e1;&#x30f3;&#x30c8;&#x3092;&#x3064;&#x3051;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="addTcomment" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JRadioButton" name="convSaveFolderRadioButton">
                           <ComponentRef name="outputVideoSaveGroup"/>
                         </Property>
                         <Property name="text" type="java.lang.String" value="&#x4fdd;&#x5b58;&#x3059;&#x308b;&#x30d5;&#x30a9;&#x30eb;&#x30c0;&#x3092;&#x6307;&#x5b9a;&#x3057;&#x3001;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x306f;&#x81ea;&#x52d5;&#x3067;&#x6c7a;&#x5b9a;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="convSaveFolderRadioButton" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JCheckBox" name="notAddVideoIdConvVideoCheckBox">
                       <Properties>
                         <Property name="text" type="java.lang.String" value="&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x306b;&#x52d5;&#x753b;ID&#x3092;&#x4ed8;&#x52a0;&#x3057;&#x306a;&#x3044;"/>
+                        <Property name="name" type="java.lang.String" value="notAddVideoIdConvVideoCheckBox" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JTextField" name="convertedVideoSavedFolderField">
+                      <Properties>
+                        <Property name="name" type="java.lang.String" value="convertedVideoSavedFolderField" noResource="true"/>
+                      </Properties>
                     </Component>
                     <Component class="javax.swing.JButton" name="showSavingConvertedVideoFolderDialogButton">
                       <Properties>
                           <ComponentRef name="outputVideoSaveGroup"/>
                         </Property>
                         <Property name="text" type="java.lang.String" value="&#x4fdd;&#x5b58;&#x3059;&#x308b;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x3092;&#x6307;&#x5b9a;&#x3059;&#x308b;"/>
+                        <Property name="name" type="java.lang.String" value="convSaveFileRadioButton" noResource="true"/>
                       </Properties>
                     </Component>
                     <Component class="javax.swing.JTextField" name="convertedVideoSavedFileField">
+                      <Properties>
+                        <Property name="name" type="java.lang.String" value="convertedVideoSavedFileField" noResource="true"/>
+                      </Properties>
                     </Component>
                     <Component class="javax.swing.JButton" name="showSavingConvertedVideoFileDialogButton">
                       <Properties>
index 5c93209..a9386e7 100644 (file)
 package saccubus;
 
 import java.awt.GridLayout;
+import java.io.File;
 import javax.swing.JButton;
 import javax.swing.JCheckBox;
+import javax.swing.JFileChooser;
 import javax.swing.JRadioButton;
 import javax.swing.JTextField;
 
@@ -43,7 +45,7 @@ public class SavePanel extends javax.swing.JPanel {
         inputCommentSaveGroup = new javax.swing.ButtonGroup();
         outputVideoSaveGroup = new javax.swing.ButtonGroup();
         inputTcommentSaveGroup = new javax.swing.ButtonGroup();
-        jTabbedPane1 = new javax.swing.JTabbedPane();
+        saveTabbedPane = new javax.swing.JTabbedPane();
         inputVideoTab = new javax.swing.JPanel();
         inputCommentTab = new javax.swing.JPanel();
         commentSaveInfoPanel = new javax.swing.JPanel();
@@ -84,6 +86,8 @@ public class SavePanel extends javax.swing.JPanel {
         convertedVideoSavedFileField = new javax.swing.JTextField();
         showSavingConvertedVideoFileDialogButton = new javax.swing.JButton();
 
+        saveTabbedPane.setName("saveTabbedPane"); // NOI18N
+
         javax.swing.GroupLayout inputVideoTabLayout = new javax.swing.GroupLayout(inputVideoTab);
         inputVideoTab.setLayout(inputVideoTabLayout);
         inputVideoTabLayout.setHorizontalGroup(
@@ -95,27 +99,40 @@ public class SavePanel extends javax.swing.JPanel {
             .addGap(0, 270, Short.MAX_VALUE)
         );
 
-        jTabbedPane1.addTab("\93ü\97Í\93®\89æ", inputVideoTab);
+        saveTabbedPane.addTab("\93ü\97Í\93®\89æ", inputVideoTab);
 
         commentSaveInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("\83R\83\81\83\93\83g\95Û\91\90Ý\92è"));
 
         savingCommentCheckBox.setText("\83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é");
+        savingCommentCheckBox.setName("savingCommentCheckBox"); // NOI18N
 
         delCommentCheckBox.setText("\95Ï\8a·\8cã\82É\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é");
+        delCommentCheckBox.setName("delCommentCheckBox"); // NOI18N
 
         fixCommentNumCheckBox.setText("\83R\83\81\83\93\83g\8eæ\93¾\90\94\82Í\8e©\93®\82Å\92²\90®\82·\82é");
+        fixCommentNumCheckBox.setName("fixCommentNumCheckBox"); // NOI18N
 
         jLabel1.setText("\8eæ\93¾\83R\83\81\83\93\83g\90\94");
 
+        commentNumField.setName("commentNumField"); // NOI18N
+
         inputCommentSaveGroup.add(commentSaveFolderRadioButton);
         commentSaveFolderRadioButton.setText("\95Û\91\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é");
+        commentSaveFolderRadioButton.setName("commentSaveFolderRadioButton"); // NOI18N
+
+        commentSavedFolderField.setName("commentSavedFolderField"); // NOI18N
 
         showSavingCommentFolderDialogButton.setText("\8eQ\8fÆ...");
+        showSavingCommentFolderDialogButton.setName("showSavingCommentFolderDialogButton"); // NOI18N
 
         inputCommentSaveGroup.add(commentSaveFileRadioButton);
         commentSaveFileRadioButton.setText("\95Û\91\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é");
+        commentSaveFileRadioButton.setName("commentSaveFileRadioButton"); // NOI18N
+
+        commentSavedFileField.setName("commentSavedFileField"); // NOI18N
 
         showSavingCommentFileDialogButton.setText("\8eQ\8fÆ...");
+        showSavingCommentFileDialogButton.setName("showSavingCommentFileDialogButton"); // NOI18N
 
         javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
         jPanel7.setLayout(jPanel7Layout);
@@ -135,8 +152,8 @@ public class SavePanel extends javax.swing.JPanel {
                     .addGroup(jPanel7Layout.createSequentialGroup()
                         .addGap(21, 21, 21)
                         .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(commentSavedFileField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
-                            .addComponent(commentSavedFolderField, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE))
+                            .addComponent(commentSavedFileField, javax.swing.GroupLayout.DEFAULT_SIZE, 197, Short.MAX_VALUE)
+                            .addComponent(commentSavedFolderField, javax.swing.GroupLayout.DEFAULT_SIZE, 197, Short.MAX_VALUE))
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                         .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                             .addComponent(showSavingCommentFolderDialogButton)
@@ -204,26 +221,46 @@ public class SavePanel extends javax.swing.JPanel {
             .addGroup(inputCommentTabLayout.createSequentialGroup()
                 .addContainerGap()
                 .addComponent(commentSaveInfoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap(27, Short.MAX_VALUE))
+                .addContainerGap(30, Short.MAX_VALUE))
         );
 
-        jTabbedPane1.addTab("\93ü\97Í\83R\83\81\83\93\83g", inputCommentTab);
+        saveTabbedPane.addTab("\93ü\97Í\83R\83\81\83\93\83g", inputCommentTab);
 
         tcommentSaveInfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\95Û\91\90Ý\92è"));
 
         needDownloadTcomment.setText("\83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é");
+        needDownloadTcomment.setName("needDownloadTcomment"); // NOI18N
 
         delTcomment.setText("\95Ï\8a·\8cã\82É\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é");
+        delTcomment.setName("delTcomment"); // NOI18N
 
         inputTcommentSaveGroup.add(tcommentSaveInFolder);
         tcommentSaveInFolder.setText("\95Û\91\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é");
+        tcommentSaveInFolder.setName("tcommentSaveInFolder"); // NOI18N
+
+        tcommentFolder.setName("tcommentFolder"); // NOI18N
 
         tcoomentFolderChooserButton.setText("\8eQ\8fÆ...");
+        tcoomentFolderChooserButton.setName("tcoomentFolderChooserButton"); // NOI18N
+        tcoomentFolderChooserButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                tcoomentFolderChooserButtonActionPerformed(evt);
+            }
+        });
 
         inputTcommentSaveGroup.add(tcommentSaveToFile);
         tcommentSaveToFile.setText("\95Û\91\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é");
+        tcommentSaveToFile.setName("tcommentSaveToFile"); // NOI18N
+
+        tcommentFile.setName("tcommentFile"); // NOI18N
 
         tcommentFileChooserButton.setText("\8eQ\8fÆ...");
+        tcommentFileChooserButton.setName("tcommentFileChooserButton"); // NOI18N
+        tcommentFileChooserButton.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                tcommentFileChooserButtonActionPerformed(evt);
+            }
+        });
 
         javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
         jPanel8.setLayout(jPanel8Layout);
@@ -232,22 +269,18 @@ public class SavePanel extends javax.swing.JPanel {
             .addGroup(jPanel8Layout.createSequentialGroup()
                 .addGroup(jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                     .addComponent(delTcomment)
-                    .addComponent(tcommentSaveInFolder))
-                .addContainerGap())
-            .addGroup(jPanel8Layout.createSequentialGroup()
-                .addContainerGap()
-                .addComponent(tcommentFolder, javax.swing.GroupLayout.DEFAULT_SIZE, 202, Short.MAX_VALUE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(tcoomentFolderChooserButton)
-                .addContainerGap())
-            .addGroup(jPanel8Layout.createSequentialGroup()
-                .addComponent(tcommentSaveToFile)
-                .addContainerGap())
-            .addGroup(jPanel8Layout.createSequentialGroup()
-                .addContainerGap()
-                .addComponent(tcommentFile, javax.swing.GroupLayout.DEFAULT_SIZE, 202, Short.MAX_VALUE)
-                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(tcommentFileChooserButton)
+                    .addComponent(tcommentSaveInFolder)
+                    .addGroup(jPanel8Layout.createSequentialGroup()
+                        .addContainerGap()
+                        .addComponent(tcommentFolder, javax.swing.GroupLayout.DEFAULT_SIZE, 206, Short.MAX_VALUE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(tcoomentFolderChooserButton))
+                    .addComponent(tcommentSaveToFile)
+                    .addGroup(jPanel8Layout.createSequentialGroup()
+                        .addContainerGap()
+                        .addComponent(tcommentFile, javax.swing.GroupLayout.DEFAULT_SIZE, 206, Short.MAX_VALUE)
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(tcommentFileChooserButton)))
                 .addContainerGap())
         );
         jPanel8Layout.setVerticalGroup(
@@ -305,28 +338,38 @@ public class SavePanel extends javax.swing.JPanel {
             .addGroup(inputTcommentTabLayout.createSequentialGroup()
                 .addContainerGap()
                 .addComponent(tcommentSaveInfoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap(71, Short.MAX_VALUE))
+                .addContainerGap(74, Short.MAX_VALUE))
         );
 
-        jTabbedPane1.addTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g", inputTcommentTab);
+        saveTabbedPane.addTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g", inputTcommentTab);
 
         jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("\83R\83\81\83\93\83g\95t\82«\93®\89æ\95Û\91\90Ý\92è"));
 
         savingConvertedVideoCheckBox.setText("\93®\89æ\82ð\95Ï\8a·\82·\82é");
+        savingConvertedVideoCheckBox.setName("savingConvertedVideoCheckBox"); // NOI18N
 
         addComment.setText("\83R\83\81\83\93\83g\82ð\82Â\82¯\82é");
+        addComment.setName("addComment"); // NOI18N
 
         addTcomment.setText("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82ð\82Â\82¯\82é");
+        addTcomment.setName("addTcomment"); // NOI18N
 
         outputVideoSaveGroup.add(convSaveFolderRadioButton);
         convSaveFolderRadioButton.setText("\95Û\91\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é");
+        convSaveFolderRadioButton.setName("convSaveFolderRadioButton"); // NOI18N
 
         notAddVideoIdConvVideoCheckBox.setText("\83t\83@\83C\83\8b\96¼\82É\93®\89æID\82ð\95t\89Á\82µ\82È\82¢");
+        notAddVideoIdConvVideoCheckBox.setName("notAddVideoIdConvVideoCheckBox"); // NOI18N
+
+        convertedVideoSavedFolderField.setName("convertedVideoSavedFolderField"); // NOI18N
 
         showSavingConvertedVideoFolderDialogButton.setText("\8eQ\8fÆ...");
 
         outputVideoSaveGroup.add(convSaveFileRadioButton);
         convSaveFileRadioButton.setText("\95Û\91\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é");
+        convSaveFileRadioButton.setName("convSaveFileRadioButton"); // NOI18N
+
+        convertedVideoSavedFileField.setName("convertedVideoSavedFileField"); // NOI18N
 
         showSavingConvertedVideoFileDialogButton.setText("\8eQ\8fÆ...");
 
@@ -406,29 +449,37 @@ public class SavePanel extends javax.swing.JPanel {
             .addGroup(outputVideoTabLayout.createSequentialGroup()
                 .addContainerGap()
                 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addContainerGap(15, Short.MAX_VALUE))
         );
         outputVideoTabLayout.setVerticalGroup(
             outputVideoTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(outputVideoTabLayout.createSequentialGroup()
                 .addContainerGap()
                 .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                .addContainerGap(35, Short.MAX_VALUE))
+                .addContainerGap(38, Short.MAX_VALUE))
         );
 
-        jTabbedPane1.addTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ", outputVideoTab);
+        saveTabbedPane.addTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ", outputVideoTab);
 
         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
         this.setLayout(layout);
         layout.setHorizontalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 374, Short.MAX_VALUE)
+            .addComponent(saveTabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 374, Short.MAX_VALUE)
         );
         layout.setVerticalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-            .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 297, Short.MAX_VALUE)
+            .addComponent(saveTabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 297, Short.MAX_VALUE)
         );
     }// </editor-fold>//GEN-END:initComponents
+
+    private void tcoomentFolderChooserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcoomentFolderChooserButtonActionPerformed
+        showSaveDialog("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\95Û\91\90æ(\83t\83H\83\8b\83_)", tcommentFolder, true, true);
+    }//GEN-LAST:event_tcoomentFolderChooserButtonActionPerformed
+
+    private void tcommentFileChooserButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcommentFileChooserButtonActionPerformed
+        showSaveDialog("\93\8a\8de\8eÒ\83R\83\81\83\93\83g\82Ì\95Û\91\90æ(\83t\83@\83C\83\8b)", tcommentFile, true, false);
+    }//GEN-LAST:event_tcommentFileChooserButtonActionPerformed
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private javax.swing.JCheckBox addComment;
     private javax.swing.JCheckBox addTcomment;
@@ -455,11 +506,11 @@ public class SavePanel extends javax.swing.JPanel {
     private javax.swing.JPanel jPanel5;
     private javax.swing.JPanel jPanel7;
     private javax.swing.JPanel jPanel8;
-    private javax.swing.JTabbedPane jTabbedPane1;
     private javax.swing.JCheckBox needDownloadTcomment;
     private javax.swing.JCheckBox notAddVideoIdConvVideoCheckBox;
     private javax.swing.ButtonGroup outputVideoSaveGroup;
     private javax.swing.JPanel outputVideoTab;
+    private javax.swing.JTabbedPane saveTabbedPane;
     private javax.swing.JCheckBox savingCommentCheckBox;
     private javax.swing.JCheckBox savingConvertedVideoCheckBox;
     private javax.swing.JButton showSavingCommentFileDialogButton;
@@ -629,4 +680,23 @@ public class SavePanel extends javax.swing.JPanel {
     void setTcommentFileName(String t) {
         tcommentFile.setText(t);
     }
+
+    private void showSaveDialog(String title, JTextField field, boolean isSave,
+            boolean isDir) {
+        File current = new File(field.getText());
+        JFileChooser chooser = new JFileChooser(current);
+        chooser.setDialogTitle(title);
+        int code = 0;
+        if (isDir) {
+            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+        }
+        if (isSave) {
+            code = chooser.showSaveDialog(this);
+        } else {
+            code = chooser.showOpenDialog(this);
+        }
+        if (code == JFileChooser.APPROVE_OPTION) {
+            field.setText(chooser.getSelectedFile().getAbsolutePath());
+        }
+    }
 }
index aed7741..31027d8 100644 (file)
@@ -14,9 +14,6 @@
       </Border>
     </Property>
   </Properties>
-  <SyntheticProperties>
-    <SyntheticProperty name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-6,0,0,1,89"/>
-  </SyntheticProperties>
   <AuxValues>
     <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
     <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
@@ -76,6 +73,7 @@
           <ComponentRef name="videoSavingGroup"/>
         </Property>
         <Property name="text" type="java.lang.String" value="&#x52d5;&#x753b;&#x3092;&#x30c0;&#x30a6;&#x30f3;&#x30ed;&#x30fc;&#x30c9;&#x3057;&#x306a;&#x3044;"/>
+        <Property name="name" type="java.lang.String" value="videoNoSaveButton" noResource="true"/>
       </Properties>
     </Component>
     <Component class="javax.swing.JRadioButton" name="videoSaveButton">
@@ -84,6 +82,7 @@
           <ComponentRef name="videoSavingGroup"/>
         </Property>
         <Property name="text" type="java.lang.String" value="&#x52d5;&#x753b;&#x3092;&#x30c0;&#x30a6;&#x30f3;&#x30ed;&#x30fc;&#x30c9;&#x3059;&#x308b;"/>
+        <Property name="name" type="java.lang.String" value="videoSaveButton" noResource="true"/>
       </Properties>
     </Component>
     <Container class="javax.swing.JPanel" name="basicSetting">
         <Component class="javax.swing.JCheckBox" name="delVideoCheckBox">
           <Properties>
             <Property name="text" type="java.lang.String" value="&#x5909;&#x63db;&#x5f8c;&#x306b;&#x52d5;&#x753b;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x3092;&#x524a;&#x9664;&#x3059;&#x308b;"/>
+            <Property name="name" type="java.lang.String" value="delVideoCheckBox" noResource="true"/>
           </Properties>
         </Component>
         <Component class="javax.swing.JRadioButton" name="saveFolderRadioButton">
               <ComponentRef name="videoNamingGroup"/>
             </Property>
             <Property name="text" type="java.lang.String" value="&#x4fdd;&#x5b58;&#x3059;&#x308b;&#x30d5;&#x30a9;&#x30eb;&#x30c0;&#x3092;&#x6307;&#x5b9a;&#x3057;&#x3001;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x306f;&#x81ea;&#x52d5;&#x3067;&#x6c7a;&#x5b9a;&#x3059;&#x308b;"/>
+            <Property name="name" type="java.lang.String" value="saveFolderRadioButton" noResource="true"/>
           </Properties>
         </Component>
         <Component class="javax.swing.JTextField" name="videoSavedFolderField">
+          <Properties>
+            <Property name="name" type="java.lang.String" value="videoSavedFolderField" noResource="true"/>
+          </Properties>
         </Component>
         <Component class="javax.swing.JButton" name="showSavingVideoFolderDialogButton">
           <Properties>
             <Property name="text" type="java.lang.String" value="&#x53c2;&#x7167;..."/>
+            <Property name="name" type="java.lang.String" value="showSavingVideoFolderDialogButton" noResource="true"/>
           </Properties>
         </Component>
         <Component class="javax.swing.JRadioButton" name="saveFileRadioButton">
               <ComponentRef name="videoNamingGroup"/>
             </Property>
             <Property name="text" type="java.lang.String" value="&#x4fdd;&#x5b58;&#x3059;&#x308b;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x540d;&#x3092;&#x6307;&#x5b9a;&#x3059;&#x308b;"/>
+            <Property name="name" type="java.lang.String" value="saveFileRadioButton" noResource="true"/>
           </Properties>
         </Component>
         <Component class="javax.swing.JTextField" name="videoSavedFileField">
+          <Properties>
+            <Property name="name" type="java.lang.String" value="videoSavedFileField" noResource="true"/>
+          </Properties>
         </Component>
         <Component class="javax.swing.JButton" name="showSavingVideoFileDialogButton">
           <Properties>
             <Property name="text" type="java.lang.String" value="&#x53c2;&#x7167;..."/>
+            <Property name="name" type="java.lang.String" value="showSavingVideoFileDialogButton" noResource="true"/>
           </Properties>
         </Component>
       </SubComponents>
           <ComponentRef name="videoSavingGroup"/>
         </Property>
         <Property name="text" type="java.lang.String" value="NicoBrowser&#x30c0;&#x30a6;&#x30f3;&#x30ed;&#x30fc;&#x30c9;&#x30d5;&#x30a1;&#x30a4;&#x30eb;&#x3092;&#x7528;&#x3044;&#x308b;"/>
+        <Property name="name" type="java.lang.String" value="videoUseNiBrButton" noResource="true"/>
       </Properties>
     </Component>
     <Container class="javax.swing.JPanel" name="nibrExtendSetting">
       </Layout>
       <SubComponents>
         <Component class="javax.swing.JTextField" name="nibrFileField">
+          <Properties>
+            <Property name="name" type="java.lang.String" value="nibrFileField" noResource="true"/>
+          </Properties>
         </Component>
         <Component class="javax.swing.JButton" name="nibrFileChooserButton">
           <Properties>
index 4a4cc66..dae7291 100644 (file)
@@ -50,21 +50,32 @@ class VideoSaveInfoPanel extends javax.swing.JPanel {
 
         videoSavingGroup.add(videoNoSaveButton);
         videoNoSaveButton.setText("\93®\89æ\82ð\83_\83E\83\93\83\8d\81[\83h\82µ\82È\82¢");
+        videoNoSaveButton.setName("videoNoSaveButton"); // NOI18N
 
         videoSavingGroup.add(videoSaveButton);
         videoSaveButton.setText("\93®\89æ\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é");
+        videoSaveButton.setName("videoSaveButton"); // NOI18N
 
         delVideoCheckBox.setText("\95Ï\8a·\8cã\82É\93®\89æ\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é");
+        delVideoCheckBox.setName("delVideoCheckBox"); // NOI18N
 
         videoNamingGroup.add(saveFolderRadioButton);
         saveFolderRadioButton.setText("\95Û\91\82·\82é\83t\83H\83\8b\83_\82ð\8ew\92è\82µ\81A\83t\83@\83C\83\8b\96¼\82Í\8e©\93®\82Å\8c\88\92è\82·\82é");
+        saveFolderRadioButton.setName("saveFolderRadioButton"); // NOI18N
+
+        videoSavedFolderField.setName("videoSavedFolderField"); // NOI18N
 
         showSavingVideoFolderDialogButton.setText("\8eQ\8fÆ...");
+        showSavingVideoFolderDialogButton.setName("showSavingVideoFolderDialogButton"); // NOI18N
 
         videoNamingGroup.add(saveFileRadioButton);
         saveFileRadioButton.setText("\95Û\91\82·\82é\83t\83@\83C\83\8b\96¼\82ð\8ew\92è\82·\82é");
+        saveFileRadioButton.setName("saveFileRadioButton"); // NOI18N
+
+        videoSavedFileField.setName("videoSavedFileField"); // NOI18N
 
         showSavingVideoFileDialogButton.setText("\8eQ\8fÆ...");
+        showSavingVideoFileDialogButton.setName("showSavingVideoFileDialogButton"); // NOI18N
 
         javax.swing.GroupLayout basicSettingLayout = new javax.swing.GroupLayout(basicSetting);
         basicSetting.setLayout(basicSettingLayout);
@@ -108,6 +119,9 @@ class VideoSaveInfoPanel extends javax.swing.JPanel {
 
         videoSavingGroup.add(videoUseNiBrButton);
         videoUseNiBrButton.setText("NicoBrowser\83_\83E\83\93\83\8d\81[\83h\83t\83@\83C\83\8b\82ð\97p\82¢\82é");
+        videoUseNiBrButton.setName("videoUseNiBrButton"); // NOI18N
+
+        nibrFileField.setName("nibrFileField"); // NOI18N
 
         nibrFileChooserButton.setText("\8eQ\8fÆ...");
 
index 043c4e6..ed33d21 100644 (file)
@@ -105,7 +105,7 @@ public class FileInstanciator {
      */
     public final File getVideoFile(TextProgressListener listener) throws IOException {
         File file = new FileLocator(videoType.isAutoFileName(), videoType.getInitFile(), getVideoIdWithBracket(),
-                getVideoTitle(), ".flv").getFile();
+                getVideoTitle(), ".flv", ".mp4", ".swf").getFile();
         file = videoFileGetter.get(file, listener);
         return file;
     }
@@ -131,7 +131,7 @@ public class FileInstanciator {
      */
     public final File getTcommFile(TextProgressListener listener) throws IOException {
         File file = new FileLocator(tcommType.isAutoFileName(), tcommType.getInitFile(), getVideoIdWithBracket(),
-                getVideoTitle(), ".xml").getFile();
+                getVideoTitle(), ".txml").getFile();
         file = tcommFileGetter.get(file, listener);
         return file;
     }
index 03676a0..b668e63 100644 (file)
@@ -3,6 +3,7 @@ package saccubus.converter.filegetter;
 
 import java.io.File;
 import java.io.FilenameFilter;
+import org.apache.commons.io.FilenameUtils;
 
 /**
  *
@@ -14,22 +15,23 @@ class FileLocator {
     private final File initFile;
     private final String prefix;
     private final String title;
-    private final String suffix;
+    private final String[] suffixes;
 
-    FileLocator(boolean autoFileName, File initFile, String prefix, String title, String suffix) {
+    FileLocator(boolean autoFileName, File initFile, String prefix, String title, String... suffixes) {
         this.autoFileName = autoFileName;
         this.initFile = initFile;
         this.prefix = prefix;
         this.title = title;
-        this.suffix = suffix;
+        this.suffixes = suffixes;
     }
 
     /**
      * \83R\83\93\83X\83g\83\89\83N\83^\82Å\8ew\92è\82µ\82½\8fð\8c\8f\82Å\83t\83@\83C\83\8b\82ð\8c\9f\8dõ\82·\82é\81B
      * autoFileName\82ªfalse\82Ì\8fê\8d\87\81A\92¼\90Ú\96¼\91O\8ew\92è\82Å\82 \82é\82½\82ß\8ew\92è\82³\82ê\82½\83t\83@\83C\83\8b\82ð\82»\82Ì\82Ü\82Ü\95Ô\82·\81B
-     * autoFileName\82ªtrue\82Ì\8fê\8d\87\81AinitFile\83f\83B\83\8c\83N\83g\83\8a\82Éprefix\82Å\8en\82Ü\82é\83t\83@\83C\83\8b\82ª\91\8dÝ\82·\82é\82©\8c\9f\8dõ\82µ
+     * autoFileName\82ªtrue\82Ì\8fê\8d\87\81AinitFile\83f\83B\83\8c\83N\83g\83\8a\82Éprefix\82Å\8en\82Ü\82èsuffix\82Å\8fI\82í\82é\83t\83@\83C\83\8b\82ª\91\8dÝ\82·\82é\82©\8c\9f\8dõ\82µ
      * \82 \82ê\82Î\82»\82ê\82ð\95Ô\82·\81B
      * \82±\82Ì\83t\83@\83C\83\8b\82à\96³\82¢\8fê\8d\87\81A\8ew\92è\82³\82ê\82½\83p\83\89\83\81\81[\83^\82É\8f]\82Á\82½\83t\83@\83C\83\8b\96¼\82ð\95Ô\82·\81B
+     * \82±\82Ì\82Æ\82«\8ag\92£\8eq(suffixes)\82ª\95¡\90\94\8ew\92è\82³\82ê\82Ä\82¢\82½\8fê\8d\87\82Í\8dÅ\8f\89\82Ì\82à\82Ì\82ð\95Ô\82·\81B
      * @return \8f\8a\96]\82Ì\83t\83@\83C\83\8b\81B\83t\83@\83C\83\8b\82Í\91\8dÝ\82·\82é\8fê\8d\87\82à\82 \82è\81A\91\8dÝ\82µ\82È\82¢\8fê\8d\87\82à\82 \82é\82±\82Æ\82É\92\8d\88Ó\81B
      */
     File getFile() {
@@ -40,7 +42,7 @@ class FileLocator {
             if (res != null) {
                 return res;
             }
-            return new File(initFile, prefix + title + suffix);
+            return new File(initFile, prefix + title + suffixes[0]);
         }
     }
 
@@ -48,13 +50,23 @@ class FileLocator {
         FilenameFilter filter = new FilenameFilter() {
 
             public boolean accept(File dir, String name) {
-                return (name.startsWith(prefix)) ? true : false;
+                if (name.startsWith(prefix)) {
+                    for (String suffix : suffixes) {
+                        if (name.endsWith(suffix)) {
+                            return true;
+                        }
+                    }
+                }
+                return false;
             }
         };
         File[] res = initFile.listFiles(filter);
         if (res == null || res.length == 0) {
             return null;
         }
+        if (res.length > 1) {
+            System.out.println("\95¡\90\94\82Ì\8có\95â\83t\83@\83C\83\8b\82ª\83q\83b\83g\82µ\82Ü\82µ\82½. \88Ó\90}\82µ\82È\82¢\83t\83@\83C\83\8b\82ª\91I\91ð\82³\82ê\82Ä\82¢\82é\89Â\94\\90«\82ª\82 \82è\82Ü\82·:" + res[0]);
+        }
         return res[0];
     }
 
index e6ab428..bc04f94 100644 (file)
@@ -337,7 +337,7 @@ public class NicoClient {
     }
 
     private OfficialOption getOfficialOption(String threadId) throws IOException {
-        String url = "http://www.nicovideo.jp/api/getthreadkey?thread="+threadId;
+        String url = "http://flapi.nicovideo.jp/api/getthreadkey?thread="+threadId;
         Map<String,String> map = new NicoApiRequest(url).get();
         return new OfficialOption(map.get("threadkey"), map.get("force_184"));
     }
@@ -375,7 +375,7 @@ public class NicoClient {
                        }
                }
                System.out.print("Getting wayback key...");
-               String url = "http://www.nicovideo.jp/api/getwaybackkey?thread="
+               String url = "http://flapi.nicovideo.jp/api/getwaybackkey?thread="
                                + vi.getThreadId();
                String ret = "";
                try {
index d6b1e01..410d233 100644 (file)
@@ -10,13 +10,20 @@ import java.util.Properties;
  */
 public class InputCommentSetting extends InputFileSetting<Boolean> {
 
-    private static final String PROP_COMMENT_FILE = "CommentFile";
-    private static final String PROP_BACK_COMMENT = "BackComment";
+    /** \83R\83\81\83\93\83g\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é. */
+    private static final String PROP_SAVE_COMMENT = "SaveCommentFile";
+    /** \95Ï\8a·\8cã\82É\83R\83\81\83\93\83g\83t\83@\83C\83\8b\82ð\8dí\8f\9c\82·\82é. */
     private static final String PROP_DEL_COMMENT_AFTER_CONV = "DeleteCommentAfterConv";
-    private static final String PROP_COMMENT_FIX_FILE_NAME = "CommentFixFileName";
-    private static final String PROP_COMMENT_FIX_FILE_NAME_FOLDER = "CommentFixFileNameFolder";
+    /** \83R\83\81\83\93\83g\8eæ\93¾\90\94\82Í\8e©\93®\82Å\92²\90®\82·\82é. */
     private static final String PROP_FIX_COMMENT_NUM = "FixCommentSize";
-    private static final String PROP_SAVE_COMMENT = "SaveCommentFile";
+    /** \8eæ\93¾\83R\83\81\83\93\83g\90\94. */
+    private static final String PROP_BACK_COMMENT = "BackComment";
+    /** \83t\83H\83\8b\83_/\83t\83@\83C\83\8b\95Û\91\91I\91ð\83\89\83W\83I\83{\83^\83\93. */
+    private static final String PROP_COMMENT_FIX_FILE_NAME = "CommentFixFileName";
+    /** \83t\83H\83\8b\83_\96¼. */
+    private static final String PROP_COMMENT_FOLDER = "CommentFixFileNameFolder";
+    /** \83t\83@\83C\83\8b\96¼. */
+    private static final String PROP_COMMENT_FILE = "CommentFile";
     private final boolean selfAdjustNumOfComment;
     private final int numOfComment;
 
@@ -28,25 +35,24 @@ public class InputCommentSetting extends InputFileSetting<Boolean> {
     }
 
     public void save(Properties prop) {
-        prop.setProperty(PROP_COMMENT_FILE, getFile().getPath());
-        prop.setProperty(PROP_BACK_COMMENT, Integer.toString(getNumOfComment()));
+        prop.setProperty(PROP_SAVE_COMMENT, getProcessKind().toString());
         prop.setProperty(PROP_DEL_COMMENT_AFTER_CONV, Boolean.toString(isDeleteAfterConvert()));
-        prop.setProperty(PROP_COMMENT_FIX_FILE_NAME, Boolean.toString(isAutoNaming()));
-        prop.setProperty(PROP_COMMENT_FIX_FILE_NAME_FOLDER, getFolder().getPath());
         prop.setProperty(PROP_FIX_COMMENT_NUM, Boolean.toString(isSelfAdjustNumOfComment()));
-        prop.setProperty(PROP_SAVE_COMMENT, getProcessKind().toString());
+        prop.setProperty(PROP_BACK_COMMENT, Integer.toString(getNumOfComment()));
+        prop.setProperty(PROP_COMMENT_FIX_FILE_NAME, Boolean.toString(isAutoNaming()));
+        prop.setProperty(PROP_COMMENT_FOLDER, getFolder().getPath());
+        prop.setProperty(PROP_COMMENT_FILE, getFile().getPath());
 
     }
 
     public static InputCommentSetting load(Properties prop) {
-
-        String file = prop.getProperty(PROP_COMMENT_FILE, "comment.xml");
-        String numOfComment = prop.getProperty(PROP_BACK_COMMENT, "500");
-        boolean delete = Boolean.parseBoolean(prop.getProperty(PROP_DEL_COMMENT_AFTER_CONV, "false"));
-        boolean adjustNumOfComment = Boolean.parseBoolean(prop.getProperty(PROP_COMMENT_FIX_FILE_NAME, "true"));
-        String folder = prop.getProperty(PROP_COMMENT_FIX_FILE_NAME_FOLDER, "[out]comment");
-        boolean autoNaming = Boolean.parseBoolean(prop.getProperty(PROP_FIX_COMMENT_NUM, "true"));
         boolean download = Boolean.parseBoolean(prop.getProperty(PROP_SAVE_COMMENT, "true"));
+        boolean delete = Boolean.parseBoolean(prop.getProperty(PROP_DEL_COMMENT_AFTER_CONV, "false"));
+        boolean adjustNumOfComment = Boolean.parseBoolean(prop.getProperty(PROP_FIX_COMMENT_NUM, "true"));
+        String numOfComment = prop.getProperty(PROP_BACK_COMMENT, "500");
+        boolean autoNaming = Boolean.parseBoolean(prop.getProperty(PROP_COMMENT_FIX_FILE_NAME, "true"));
+        String folder = prop.getProperty(PROP_COMMENT_FOLDER, "[out]comment");
+        String file = prop.getProperty(PROP_COMMENT_FILE, "comment.xml");
 
         return new InputCommentSetting(download, autoNaming, new File(folder), new File(file), delete,
                 adjustNumOfComment,
index 305ec77..210b714 100644 (file)
@@ -37,7 +37,7 @@ public class InputTcommentSetting extends InputFileSetting<Boolean> {
 
     public void save(Properties prop) {
         prop.setProperty(PROP_DOWNLOAD, getProcessKind().toString());
-        prop.setProperty(PROP_DELETE, getProcessKind().toString());
+        prop.setProperty(PROP_DELETE, Boolean.toString(isDeleteAfterConvert()));
         prop.setProperty(PROP_AUTOFILENAME, Boolean.toString(isAutoNaming()));
         prop.setProperty(PROP_DIRECTORYNAME, getFolder().toString());
         prop.setProperty(PROP_FILENAME, getFile().toString());
diff --git a/frontend/test/saccubus/SaccubusTest.java b/frontend/test/saccubus/SaccubusTest.java
new file mode 100644 (file)
index 0000000..f110081
--- /dev/null
@@ -0,0 +1,643 @@
+/*$Id$*/
+package saccubus;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import javax.swing.JFrame;
+import mockit.Mock;
+import mockit.MockClass;
+import mockit.Mockit;
+import mockit.integration.junit4.JMockit;
+import static org.fest.assertions.Assertions.*;
+import org.fest.reflect.core.Reflection;
+import org.fest.swing.fixture.JFileChooserFixture;
+import org.fest.swing.keystroke.KeyStrokeMappingProvider;
+import static org.fest.swing.launcher.ApplicationLauncher.application;
+import org.fest.swing.core.BasicRobot;
+import org.fest.swing.core.Robot;
+import org.fest.swing.finder.JFileChooserFinder;
+import org.fest.swing.finder.WindowFinder;
+import org.fest.swing.fixture.FrameFixture;
+import org.fest.swing.keystroke.KeyStrokeMap;
+import org.fest.swing.keystroke.KeyStrokeMappingsParser;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import saccubus.properties.SProperties;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author yuki
+ */
+@RunWith(JMockit.class)
+public class SaccubusTest {
+
+    private static Robot robot;
+    private static FrameFixture window;
+
+    @Before
+    public void setUp() throws IOException {
+        KeyStrokeMappingsParser parser = new KeyStrokeMappingsParser();
+        KeyStrokeMappingProvider provider = parser.parse("fest-swing_mapping.txt");
+        KeyStrokeMap.addKeyStrokesFrom(provider);
+
+        robot = BasicRobot.robotWithNewAwtHierarchy();
+        application(saccubus.Saccubus.class).start();
+        window = WindowFinder.findFrame(JFrame.class).using(robot);
+    }
+
+    @After
+    public void tearDown() {
+        robot.cleanUp();
+    }
+
+    private SProperties getProperties() {
+        return Reflection.method("getSetting").withReturnType(SProperties.class).in(window.component()).invoke();
+    }
+
+    @Test
+    public void testConfigSave() throws Exception {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testMailAddress() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+        window.textBox("mailAddressField").enterText("mail@example.com");
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testPassword() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+        window.textBox("passwordField").enterText("pass word input");
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testUseProxy() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+        window.checkBox("useProxyCheckBox").check();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+        window.checkBox("useProxyCheckBox").uncheck();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testProxyHost() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+        window.textBox("proxyTextField").enterText("proxy.example.com");
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testProxyPort() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+        window.textBox("proxyPortTextField").enterText("8090");
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testMovieSouce() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+        window.radioButton("videoUseNiBrButton").check();
+        window.textBox("nibrFileField").enterText("nibr_file.mp4");
+        window.radioButton("videoNoSaveButton").check();
+        window.checkBox("delVideoCheckBox").click();
+        window.textBox("videoSavedFolderField").selectAll().enterText("C:\\works\\");
+        window.textBox("videoSavedFileField").selectAll().enterText("C:\\movie_file.flv");
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+        window.radioButton("videoSaveButton").check();
+        window.checkBox("delVideoCheckBox").click();
+        window.textBox("videoSavedFolderField").selectAll().enterText("C:\\works\\movie");
+        window.textBox("videoSavedFileField").selectAll().enterText("C:\\movie_file\\file.flv");
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+        window.checkBox("delVideoCheckBox").click();
+        window.textBox("videoSavedFolderField").deleteText();
+        window.textBox("videoSavedFileField").deleteText();
+        window.radioButton("videoUseNiBrButton").check();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testMovieSouce2() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+        window.radioButton("saveFolderRadioButton").check();
+        window.textBox("videoSavedFolderField").selectAll().enterText("folder\\");
+        window.textBox("videoSavedFileField").selectAll().enterText("file.flv");
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+        window.radioButton("saveFileRadioButton").check();
+        window.textBox("videoSavedFolderField").selectAll().enterText("folder1\\folder2\\");
+        window.textBox("videoSavedFileField").selectAll().enterText("folder\\file.flv");
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testMovieSourceFolderButton() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+        window.button("showSavingVideoFolderDialogButton").click();
+        JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
+        File folder = new File("F:\\docs\\NetBeansProjects");
+        chooser.selectFile(folder).approve();
+        assertThat(folder.getAbsolutePath()).isEqualTo(window.textBox("videoSavedFolderField").text());
+    }
+
+    @Test
+    public void testMovieSourceFileButton() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+        window.button("showSavingVideoFileDialogButton").click();
+        JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
+        File folder = new File("F:\\docs\\NetBeansProjects\\saccubus_frontend\\[out]video\\aa.flv");
+        chooser.selectFile(folder).approve();
+        assertThat(folder.getAbsolutePath()).isEqualTo(window.textBox("videoSavedFileField").text());
+    }
+
+    @Test
+    public void testDownloadComment() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.checkBox("savingCommentCheckBox").check();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.checkBox("savingCommentCheckBox").uncheck();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testDeleteComment() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.checkBox("delCommentCheckBox").check();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.checkBox("delCommentCheckBox").uncheck();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testCommentDownloadNum() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.checkBox("fixCommentNumCheckBox").check();
+        window.textBox("commentNumField").selectAll().enterText("100");
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.checkBox("fixCommentNumCheckBox").uncheck();
+        window.radioButton("commentSaveFolderRadioButton").check();
+        window.textBox("commentNumField").deleteText();
+        SProperties.saveSetting(getProperties());
+
+    }
+
+    @Test
+    public void testCommentDownloadFolder() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.radioButton("commentSaveFolderRadioButton").check();
+        window.textBox("commentSavedFolderField").selectAll().enterText("c:\\comment\\");
+        window.textBox("commentSavedFileField").selectAll().enterText("c:\\comment\\file.xml");
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.radioButton("commentSaveFileRadioButton").check();
+        window.textBox("commentSavedFolderField").selectAll().enterText("comment");
+        window.textBox("commentSavedFileField").selectAll().enterText("file.xml");
+        SProperties.saveSetting(getProperties());
+
+    }
+
+    @Test
+    public void testCommentFolderButton() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.button("showSavingCommentFolderDialogButton").click();
+        JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
+        File folder = new File("F:\\docs\\NetBeansProjects");
+        chooser.selectFile(folder).approve();
+        assertThat(folder.getAbsolutePath()).isEqualTo(window.textBox("commentSavedFolderField").text());
+    }
+
+    @Test
+    public void testCommentFileButton() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+        window.button("showSavingCommentFileDialogButton").click();
+        JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
+        File folder = new File("F:\\docs\\NetBeansProjects\\comment.xml");
+        chooser.selectFile(folder).approve();
+        assertThat(folder.getAbsolutePath()).isEqualTo(window.textBox("commentSavedFileField").text());
+    }
+
+    @Test
+    public void testDownloadTcomment() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+        window.checkBox("needDownloadTcomment").check();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+        window.checkBox("needDownloadTcomment").uncheck();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testDeleteTcomment() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+        window.checkBox("delTcomment").check();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+        window.checkBox("delTcomment").uncheck();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testTcommentDownloadFolder() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+        window.radioButton("tcommentSaveInFolder").check();
+        window.textBox("tcommentFolder").selectAll().enterText("c:\\comment\\");
+        window.textBox("tcommentFile").selectAll().enterText("c:\\comment\\file.xml");
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+        window.radioButton("tcommentSaveToFile").check();
+        window.textBox("tcommentFolder").selectAll().enterText("comment");
+        window.textBox("tcommentFile").selectAll().enterText("file.xml");
+        SProperties.saveSetting(getProperties());
+
+    }
+
+    @Test
+    public void testTcommentFolderButton() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+        window.button("tcoomentFolderChooserButton").click();
+        JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
+        File folder = new File("F:\\docs\\NetBeansProjects\\saccubus_frontend\\src");
+        chooser.selectFile(folder).approve();
+        assertThat(folder.getAbsolutePath()).isEqualTo(window.textBox("tcommentFolder").text());
+    }
+
+    @Test
+    public void testTcommentFileButton() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+        window.button("tcommentFileChooserButton").click();
+        JFileChooserFixture chooser = JFileChooserFinder.findFileChooser().using(robot);
+        File folder = new File("F:\\docs\\NetBeansProjects\\tcomment.xml");
+        chooser.selectFile(folder).approve();
+        assertThat(folder.getAbsolutePath()).isEqualTo(window.textBox("tcommentFile").text());
+    }
+
+    @Test
+    public void testConvertVideo() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.checkBox("savingConvertedVideoCheckBox").uncheck();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.checkBox("savingConvertedVideoCheckBox").check();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testAddComment() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.checkBox("addComment").uncheck();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.checkBox("addComment").check();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testAddTcomment() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.checkBox("addTcomment").uncheck();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.checkBox("addTcomment").check();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testNoAddId() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.checkBox("notAddVideoIdConvVideoCheckBox").uncheck();
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.checkBox("notAddVideoIdConvVideoCheckBox").check();
+        SProperties.saveSetting(getProperties());
+    }
+
+    @Test
+    public void testConvertedVideoSavePlace() {
+        Mockit.setUpMocks(new MockProperties(), new MockFileOutputStream());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.radioButton("convSaveFolderRadioButton").check();
+        window.textBox("convertedVideoSavedFolderField").setText("folder");
+        window.textBox("convertedVideoSavedFileField").setText("converted.avi");
+        SProperties.saveSetting(getProperties());
+
+        window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+        window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+        window.radioButton("convSaveFileRadioButton").check();
+        window.textBox("convertedVideoSavedFolderField").setText("folder\\folder2");
+        window.textBox("convertedVideoSavedFileField").setText("folder\\converted.avi");
+        SProperties.saveSetting(getProperties());
+    }
+
+    @MockClass(realClass = FileOutputStream.class)
+    public static class MockFileOutputStream {
+
+        public MockFileOutputStream() {
+        }
+
+        @Mock
+        public MockFileOutputStream(String name) {
+            System.out.println("FileOutputStream constructor mocked.");
+        }
+    }
+
+    @MockClass(realClass = Properties.class)
+    public static class MockProperties {
+
+        private Map<String, String> map = new HashMap<String, String>();
+
+        @Mock
+        public void storeToXML(OutputStream os, String comment) {
+            System.out.println("storeToXML mocked.");
+
+            // \8aî\96{\90Ý\92è
+            window.tabbedPane("mainTabbedPane").selectTab("\8aî\96{\90Ý\92è");
+            // \83\86\81[\83U\90Ý\92è
+            assertThat(map.get("MailAddress")).isEqualTo(window.textBox("mailAddressField").text());
+            assertThat(map.get("Password")).isEqualTo(window.textBox("passwordField").text());
+            // \83v\83\8d\83L\83V\90Ý\92è
+            assertThat(Boolean.parseBoolean(map.get("UseProxy"))).isEqualTo(window.checkBox("useProxyCheckBox").
+                    component().isSelected());
+            assertThat(map.get("Proxy")).isEqualTo(window.textBox("proxyTextField").text());
+            final String port = window.textBox("proxyPortTextField").text();
+            if (!"".equals(port)) {
+                assertThat(map.get("ProxyPort")).isEqualTo(port);
+            } else {
+                assertThat(map.get("ProxyPort")).as("\83|\81[\83g\82ª\8bó\82Ì\8fê\8d\87\82É\82Í-1(\96³\8cø\82È\94Ô\8d\86)\82ð\90Ý\92è\82·\82é").isEqualTo("-1");
+            }
+
+            // \95Û\91\90Ý\92è - \93ü\97Í\93®\89æ
+            window.tabbedPane("mainTabbedPane").selectTab("\95Û\91\90Ý\92è");
+            window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93®\89æ");
+
+            final VideoSaveKind saveVideo = VideoSaveKind.valueOf(map.get("SaveVideoFile"));
+            switch (saveVideo) {
+                case NO_SAVE:
+                    window.radioButton("videoNoSaveButton").requireSelected();
+                    window.radioButton("videoSaveButton").requireNotSelected();
+                    window.radioButton("videoUseNiBrButton").requireNotSelected();
+                    break;
+                case SAVE:
+                    window.radioButton("videoNoSaveButton").requireNotSelected();
+                    window.radioButton("videoSaveButton").requireSelected();
+                    window.radioButton("videoUseNiBrButton").requireNotSelected();
+                    break;
+                case NICOBROWSER:
+                    window.radioButton("videoNoSaveButton").requireNotSelected();
+                    window.radioButton("videoSaveButton").requireNotSelected();
+                    window.radioButton("videoUseNiBrButton").requireSelected();
+                    break;
+                default:
+                    fail();
+            }
+
+            final boolean videoAutoNaming = Boolean.parseBoolean(map.get("VideoFixFileName"));
+            if (videoAutoNaming) {
+                window.radioButton("saveFolderRadioButton").requireSelected();
+                window.radioButton("saveFileRadioButton").requireNotSelected();
+            } else {
+                window.radioButton("saveFolderRadioButton").requireNotSelected();
+                window.radioButton("saveFileRadioButton").requireSelected();
+            }
+
+            assertThat(Boolean.parseBoolean(map.get("DeleteVideoAfterConv"))).isEqualTo(window.checkBox(
+                    "delVideoCheckBox").component().isSelected());
+            assertThat(map.get("VideoFixFileNameFolder")).isEqualTo(new File(window.textBox("videoSavedFolderField").
+                    text()).getPath());
+            assertThat(map.get("VideoFile")).isEqualTo(window.textBox("videoSavedFileField").text());
+
+            assertThat(map.get("NicoBrowserFileName")).isEqualTo(window.textBox("nibrFileField").text());
+
+
+            // \95Û\91\90Ý\92è - \93ü\97Í\83R\83\81\83\93\83g
+            window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\83R\83\81\83\93\83g");
+
+            assertThat(Boolean.parseBoolean(map.get("SaveCommentFile"))).isEqualTo(window.checkBox(
+                    "savingCommentCheckBox").component().isSelected());
+            assertThat(Boolean.parseBoolean(map.get("DeleteCommentAfterConv"))).isEqualTo(window.checkBox(
+                    "delCommentCheckBox").component().isSelected());
+            assertThat(Boolean.parseBoolean(map.get("FixCommentSize"))).isEqualTo(window.checkBox(
+                    "fixCommentNumCheckBox").component().isSelected());
+            // \8bó\82¾\82Á\82½\82ç\83f\83t\83H\83\8b\83g\92l500\82ð\90Ý\92è\82·\82é
+            String backComment = (window.textBox("commentNumField").text().isEmpty()) ? "500" : window.textBox(
+                    "commentNumField").text();
+            assertThat(map.get("BackComment")).isEqualTo(backComment);
+
+            final boolean commentAutoNaming = Boolean.parseBoolean(map.get("CommentFixFileName"));
+            if (commentAutoNaming) {
+                window.radioButton("commentSaveFolderRadioButton").requireSelected();
+                window.radioButton("commentSaveFileRadioButton").requireNotSelected();
+            } else {
+                window.radioButton("commentSaveFolderRadioButton").requireNotSelected();
+                window.radioButton("commentSaveFileRadioButton").requireSelected();
+            }
+
+            assertThat(map.get("CommentFixFileNameFolder")).isEqualTo(new File(window.textBox("commentSavedFolderField").
+                    text()).getPath());
+            assertThat(map.get("CommentFile")).isEqualTo(window.textBox("commentSavedFileField").text());
+
+
+            // \95Û\91\90Ý\92è - \93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g
+            window.tabbedPane("saveTabbedPane").selectTab("\93ü\97Í\93\8a\8de\8eÒ\83R\83\81\83\93\83g");
+
+            assertThat(Boolean.parseBoolean(map.get("TCDownload"))).isEqualTo(window.checkBox("needDownloadTcomment").
+                    component().isSelected());
+            assertThat(Boolean.parseBoolean(map.get("TCDelete"))).isEqualTo(window.checkBox("delTcomment").component().
+                    isSelected());
+
+            final boolean tcommAutoNaming = Boolean.parseBoolean(map.get("TCAutoNaming"));
+            if (tcommAutoNaming) {
+                window.radioButton("tcommentSaveInFolder").requireSelected();
+                window.radioButton("tcommentSaveToFile").requireNotSelected();
+            } else {
+                window.radioButton("tcommentSaveInFolder").requireNotSelected();
+                window.radioButton("tcommentSaveToFile").requireSelected();
+            }
+
+            assertThat(map.get("TCDirectory")).isEqualTo(window.textBox("tcommentFolder").text());
+            assertThat(map.get("TCFileName")).isEqualTo(window.textBox("tcommentFile").text());
+
+
+            // \95Û\91\90Ý\92è - \8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ
+            window.tabbedPane("saveTabbedPane").selectTab("\8fo\97Í\83R\83\81\83\93\83g\95t\82«\93®\89æ");
+
+            assertThat(Boolean.parseBoolean(map.get("SaveConvertedFile"))).isEqualTo(window.checkBox(
+                    "savingConvertedVideoCheckBox").component().isSelected());
+            assertThat(Boolean.parseBoolean(map.get("AddComment"))).isEqualTo(window.checkBox("addComment").component().
+                    isSelected());
+            assertThat(Boolean.parseBoolean(map.get("AddTcomment"))).isEqualTo(window.checkBox("addTcomment").component().
+                    isSelected());
+
+            final boolean convertedAutoNaming = Boolean.parseBoolean(map.get("ConvFixFileName"));
+            if (convertedAutoNaming) {
+                window.radioButton("convSaveFolderRadioButton").requireSelected();
+                window.radioButton("convSaveFileRadioButton").requireNotSelected();
+            } else {
+                window.radioButton("convSaveFolderRadioButton").requireNotSelected();
+                window.radioButton("convSaveFileRadioButton").requireSelected();
+            }
+
+            assertThat(Boolean.parseBoolean(map.get("NotAddVideoIDtoConverted"))).isEqualTo(window.checkBox(
+                    "notAddVideoIdConvVideoCheckBox").component().isSelected());
+            assertThat(map.get("ConvFixFileNameFolder")).isEqualTo(
+                    window.textBox("convertedVideoSavedFolderField").text());
+            assertThat(map.get("ConvertedFile")).isEqualTo(window.textBox("convertedVideoSavedFileField").text());
+
+
+            // \8aî\96{\90Ý\92è
+            window.tabbedPane("mainTabbedPane").selectTab("\93®\89æ\90Ý\92è");
+
+            assertThat(map.get("FFnpegPath")).isEqualTo(window.textBox("ffmpegPathField").text());
+            assertThat(map.get("VhookPath")).isEqualTo(window.textBox("vhookPathField").text());
+
+            assertThat(map.get("CMD_EXT")).isEqualTo(window.textBox("extOptionField").text());
+            assertThat(map.get("CMD_MAIN")).isEqualTo(window.textBox("mainOptionField").text());
+            assertThat(map.get("CMD_IN")).isEqualTo(window.textBox("inputOptionField").text());
+            assertThat(map.get("CMD_OUT")).isEqualTo(window.textBox("outputOptionField").text());
+
+
+            // \95Ï\8a·\90Ý\92è
+            window.tabbedPane("mainTabbedPane").selectTab("\95Ï\8a·\90Ý\92è");
+            assertThat(Boolean.parseBoolean(map.get("VhookDisabled"))).isEqualTo(window.checkBox("disableVhookCheckBox").
+                    component().isSelected());
+            assertThat(map.get("ShowCommentNum")).isEqualTo(window.textBox("viewCommentField").text());
+            assertThat(map.get("FontPath")).isEqualTo(window.textBox("fontPathField").text());
+            assertThat(map.get("FontIndex")).isEqualTo(window.textBox("fontIndexField").text());
+            window.comboBox("shadowComboBox").requireSelection(Integer.parseInt(map.get("ShadowIndex")));
+            assertThat(Boolean.parseBoolean(map.get("ShowVideo"))).isEqualTo(window.checkBox("showConvVideoCheckBox").
+                    component().isSelected());
+            assertThat(Boolean.parseBoolean(map.get("FixFontSize"))).isEqualTo(window.checkBox("fixFontSizeCheckBox").
+                    component().isSelected());
+            assertThat(Boolean.parseBoolean(map.get("OpaqueComment"))).isEqualTo(window.checkBox("opaqueCommentCheckBox").
+                    component().isSelected());
+
+            assertThat(map.get("NG_Word")).isEqualTo(window.textBox("ngWordTextField").text());
+            assertThat(map.get("NG_ID")).isEqualTo(window.textBox("ngIdTextField").text());
+
+
+//assertThat(map.get("TempDir")).isEqualTo(window.
+        }
+
+        @Mock
+        public Object setProperty(String key, String value) {
+            String prev = map.put(key, value);
+//            assertNull(prev);
+            return prev;
+        }
+    }
+}