OSDN Git Service

コンフィグのロードとセーブ
authoryukihane <yukihane.feather@gmail.com>
Wed, 24 Aug 2011 09:48:35 +0000 (18:48 +0900)
committeryukihane <yukihane.feather@gmail.com>
Wed, 24 Aug 2011 09:48:35 +0000 (18:48 +0900)
frontend/src/yukihane/inqubus/Config.java
frontend/src/yukihane/inqubus/gui/ConfigDialog.java
frontend/test/yukihane/inqubus/ConfigTest.java

index d6963d0..dd2fd03 100644 (file)
@@ -46,7 +46,7 @@ public enum Config {
         return config.getBoolean(PROXY_USE, false);
     }
 
         return config.getBoolean(PROXY_USE, false);
     }
 
-    public void setUseProxy(boolean s) {
+    public void setProxyUse(boolean s) {
         config.setProperty(PROXY_USE, s);
     }
     private static final String PROXY_HOST = "network.proxy.host";
         config.setProperty(PROXY_USE, s);
     }
     private static final String PROXY_HOST = "network.proxy.host";
@@ -217,6 +217,24 @@ public enum Config {
     public void setCommentMinSizeManual(String s) {
         config.setProperty(COMMENT_MIN_SIZE_MANUAL, s);
     }
     public void setCommentMinSizeManual(String s) {
         config.setProperty(COMMENT_MIN_SIZE_MANUAL, s);
     }
+    private static final String COMMENT_DISPLAY_MAX_SIZE_DEFAULT = "comment.displaysize.default";
+
+    public boolean getCommentDisplaySizeDefault() {
+        return config.getBoolean(COMMENT_DISPLAY_MAX_SIZE_DEFAULT, true);
+    }
+
+    public void setCommentDisplaySizeDefault(boolean s) {
+        config.setProperty(COMMENT_DISPLAY_MAX_SIZE_DEFAULT, s);
+    }
+    private static final String COMMENT_DISPLAY_MAX_SIZE_MANUAL = "comment.displaysize.manual";
+
+    public String getCommentDisplaySizeManual() {
+        return config.getString(COMMENT_DISPLAY_MAX_SIZE_MANUAL, "");
+    }
+
+    public void setCommentDisplaySizeManual(String s) {
+        config.setProperty(COMMENT_DISPLAY_MAX_SIZE_MANUAL, s);
+    }
     private static final String COMMENT_FONTPATH = "comment.fontpath";
 
     public String getFontPath() {
     private static final String COMMENT_FONTPATH = "comment.fontpath";
 
     public String getFontPath() {
@@ -246,11 +264,11 @@ public enum Config {
     }
     private static final String COMMENT_FONT_SIZING_DISABLE = "comment.font_no_sizing";
 
     }
     private static final String COMMENT_FONT_SIZING_DISABLE = "comment.font_no_sizing";
 
-    public boolean getFontSizeDisable() {
+    public boolean getFontSizeArrangeDisable() {
         return config.getBoolean(COMMENT_FONT_SIZING_DISABLE, false);
     }
 
         return config.getBoolean(COMMENT_FONT_SIZING_DISABLE, false);
     }
 
-    public void setFontSizeDisable(boolean s) {
+    public void setFontSizeArrangeDisable(boolean s) {
         config.setProperty(COMMENT_FONT_SIZING_DISABLE, s);
     }
     private static final String COMMENT_FONT_OPAQUE = "comment.opaque";
         config.setProperty(COMMENT_FONT_SIZING_DISABLE, s);
     }
     private static final String COMMENT_FONT_OPAQUE = "comment.opaque";
@@ -358,7 +376,7 @@ public enum Config {
         return config.getString(FFMPEG_PARAM_RESIZE_WIDTH, "480");
     }
 
         return config.getString(FFMPEG_PARAM_RESIZE_WIDTH, "480");
     }
 
-    public void getFfmpegResizeWidth(String s) {
+    public void setFfmpegResizeWidth(String s) {
         config.setProperty(FFMPEG_PARAM_RESIZE_WIDTH, s);
     }
     private static final String FFMPEG_PARAM_RESIZE_HEIGHT = "ffmpeg.param.resize_height";
         config.setProperty(FFMPEG_PARAM_RESIZE_WIDTH, s);
     }
     private static final String FFMPEG_PARAM_RESIZE_HEIGHT = "ffmpeg.param.resize_height";
@@ -367,7 +385,7 @@ public enum Config {
         return config.getString(FFMPEG_PARAM_RESIZE_HEIGHT, "480");
     }
 
         return config.getString(FFMPEG_PARAM_RESIZE_HEIGHT, "480");
     }
 
-    public void getFfmpegResizeHeight(String s) {
+    public void setFfmpegResizeHeight(String s) {
         config.setProperty(FFMPEG_PARAM_RESIZE_HEIGHT, s);
     }
     private static final String FFMPEG_PARAM_KEEP_ASPECT = "ffmpeg.param.keep_aspect";
         config.setProperty(FFMPEG_PARAM_RESIZE_HEIGHT, s);
     }
     private static final String FFMPEG_PARAM_KEEP_ASPECT = "ffmpeg.param.keep_aspect";
index 112e882..4ca818c 100644 (file)
  */
 package yukihane.inqubus.gui;
 
  */
 package yukihane.inqubus.gui;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import javax.swing.DefaultListModel;
 import javax.swing.JFrame;
 import yukihane.inqubus.Config;
 
 import javax.swing.JFrame;
 import yukihane.inqubus.Config;
 
@@ -49,7 +53,7 @@ public class ConfigDialog extends javax.swing.JDialog {
         lblPassword = new javax.swing.JLabel();
         fldPassword = new javax.swing.JTextField();
         pnlProxy = new javax.swing.JPanel();
         lblPassword = new javax.swing.JLabel();
         fldPassword = new javax.swing.JTextField();
         pnlProxy = new javax.swing.JPanel();
-        cbUseProxy = new javax.swing.JCheckBox();
+        cbProxyUse = new javax.swing.JCheckBox();
         lblProxyHost = new javax.swing.JLabel();
         lblProxyPort = new javax.swing.JLabel();
         fldProxyHost = new javax.swing.JTextField();
         lblProxyHost = new javax.swing.JLabel();
         lblProxyPort = new javax.swing.JLabel();
         fldProxyHost = new javax.swing.JTextField();
@@ -59,7 +63,7 @@ public class ConfigDialog extends javax.swing.JDialog {
         lblVideoDir = new javax.swing.JLabel();
         lblVideoFileNamepattern = new javax.swing.JLabel();
         fldVideoDir = new javax.swing.JTextField();
         lblVideoDir = new javax.swing.JLabel();
         lblVideoFileNamepattern = new javax.swing.JLabel();
         fldVideoDir = new javax.swing.JTextField();
-        fldFileNamePattern = new javax.swing.JTextField();
+        fldVideoFileNamePattern = new javax.swing.JTextField();
         btnVideoDir = new javax.swing.JButton();
         cbVideoLocal = new javax.swing.JCheckBox();
         pnlFileComment = new javax.swing.JPanel();
         btnVideoDir = new javax.swing.JButton();
         cbVideoLocal = new javax.swing.JCheckBox();
         pnlFileComment = new javax.swing.JPanel();
@@ -75,9 +79,9 @@ public class ConfigDialog extends javax.swing.JDialog {
         fldOutputDir = new javax.swing.JTextField();
         fldOutputFileNamePattern = new javax.swing.JTextField();
         btnOutputDir = new javax.swing.JButton();
         fldOutputDir = new javax.swing.JTextField();
         fldOutputFileNamePattern = new javax.swing.JTextField();
         btnOutputDir = new javax.swing.JButton();
-        cbConvertEnable = new javax.swing.JCheckBox();
-        cbCommentOverlay = new javax.swing.JCheckBox();
-        cbDisplayConverting = new javax.swing.JCheckBox();
+        cbOutputEnable = new javax.swing.JCheckBox();
+        cbOutputCommentOverlay = new javax.swing.JCheckBox();
+        cbOutputDisplayProgress = new javax.swing.JCheckBox();
         pnlComment = new javax.swing.JPanel();
         pnlCommentStandard = new javax.swing.JPanel();
         lblCommentSize = new javax.swing.JLabel();
         pnlComment = new javax.swing.JPanel();
         pnlCommentStandard = new javax.swing.JPanel();
         lblCommentSize = new javax.swing.JLabel();
@@ -89,12 +93,12 @@ public class ConfigDialog extends javax.swing.JDialog {
         fldCommentMinSizeManual = new javax.swing.JTextField();
         lblCommentMinSizeManual = new javax.swing.JLabel();
         lblCommentDisplayMax = new javax.swing.JLabel();
         fldCommentMinSizeManual = new javax.swing.JTextField();
         lblCommentMinSizeManual = new javax.swing.JLabel();
         lblCommentDisplayMax = new javax.swing.JLabel();
-        cbCommentDisplayMaxDefault = new javax.swing.JCheckBox();
+        cbCommentDisplaySizeDefault = new javax.swing.JCheckBox();
         lblCommentDisplayMaxManual = new javax.swing.JLabel();
         lblCommentDisplayMaxManual = new javax.swing.JLabel();
-        fldCommentDisplayMaxManual = new javax.swing.JTextField();
+        fldCommentDisplaySizeManual = new javax.swing.JTextField();
         pnlCommentAdvanced = new javax.swing.JPanel();
         lblFontPath = new javax.swing.JLabel();
         pnlCommentAdvanced = new javax.swing.JPanel();
         lblFontPath = new javax.swing.JLabel();
-        cbArrangeFontSizeDisable = new javax.swing.JCheckBox();
+        cbFontSizeArrangeDisable = new javax.swing.JCheckBox();
         cbCommentOpaque = new javax.swing.JCheckBox();
         fldFontPath = new javax.swing.JTextField();
         btnFontPath = new javax.swing.JButton();
         cbCommentOpaque = new javax.swing.JCheckBox();
         fldFontPath = new javax.swing.JTextField();
         btnFontPath = new javax.swing.JButton();
@@ -134,13 +138,13 @@ public class ConfigDialog extends javax.swing.JDialog {
         pnlNgSetting = new javax.swing.JPanel();
         pnlNgWord = new javax.swing.JPanel();
         scrNgWord = new javax.swing.JScrollPane();
         pnlNgSetting = new javax.swing.JPanel();
         pnlNgWord = new javax.swing.JPanel();
         scrNgWord = new javax.swing.JScrollPane();
-        lstNgWord = new javax.swing.JList();
+        lstNgWord = new javax.swing.JList<>();
         fldNgWord = new javax.swing.JTextField();
         btnNgWordAdd = new javax.swing.JButton();
         btnNgWordDel = new javax.swing.JButton();
         pnlNgId = new javax.swing.JPanel();
         scrNgId = new javax.swing.JScrollPane();
         fldNgWord = new javax.swing.JTextField();
         btnNgWordAdd = new javax.swing.JButton();
         btnNgWordDel = new javax.swing.JButton();
         pnlNgId = new javax.swing.JPanel();
         scrNgId = new javax.swing.JScrollPane();
-        lstNgId = new javax.swing.JList();
+        lstNgId = new javax.swing.JList<>();
         fldNgId = new javax.swing.JTextField();
         btnNgIdAdd = new javax.swing.JButton();
         btnNgIdDel = new javax.swing.JButton();
         fldNgId = new javax.swing.JTextField();
         btnNgIdAdd = new javax.swing.JButton();
         btnNgIdDel = new javax.swing.JButton();
@@ -200,7 +204,7 @@ public class ConfigDialog extends javax.swing.JDialog {
 
         pnlProxy.setBorder(javax.swing.BorderFactory.createTitledBorder("プロキシ"));
 
 
         pnlProxy.setBorder(javax.swing.BorderFactory.createTitledBorder("プロキシ"));
 
-        cbUseProxy.setText("プロキシを使用する");
+        cbProxyUse.setText("プロキシを使用する");
 
         lblProxyHost.setText("ホスト名");
 
 
         lblProxyHost.setText("ホスト名");
 
@@ -213,7 +217,7 @@ public class ConfigDialog extends javax.swing.JDialog {
             .addGroup(gl_pnlProxy.createSequentialGroup()
                 .addContainerGap()
                 .addGroup(gl_pnlProxy.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(gl_pnlProxy.createSequentialGroup()
                 .addContainerGap()
                 .addGroup(gl_pnlProxy.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                    .addComponent(cbUseProxy)
+                    .addComponent(cbProxyUse)
                     .addGroup(gl_pnlProxy.createSequentialGroup()
                         .addComponent(lblProxyHost)
                         .addGap(18, 18, 18)
                     .addGroup(gl_pnlProxy.createSequentialGroup()
                         .addComponent(lblProxyHost)
                         .addGap(18, 18, 18)
@@ -228,7 +232,7 @@ public class ConfigDialog extends javax.swing.JDialog {
             gl_pnlProxy.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(gl_pnlProxy.createSequentialGroup()
                 .addContainerGap()
             gl_pnlProxy.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(gl_pnlProxy.createSequentialGroup()
                 .addContainerGap()
-                .addComponent(cbUseProxy)
+                .addComponent(cbProxyUse)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(gl_pnlProxy.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(lblProxyHost)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(gl_pnlProxy.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(lblProxyHost)
@@ -289,7 +293,7 @@ public class ConfigDialog extends javax.swing.JDialog {
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                         .addComponent(btnVideoDir))
                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, gl_pnlFileVideo.createSequentialGroup()
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                         .addComponent(btnVideoDir))
                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, gl_pnlFileVideo.createSequentialGroup()
-                        .addComponent(fldFileNamePattern, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(fldVideoFileNamePattern, javax.swing.GroupLayout.PREFERRED_SIZE, 165, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 94, Short.MAX_VALUE)
                         .addComponent(cbVideoLocal)))
                 .addContainerGap())
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 94, Short.MAX_VALUE)
                         .addComponent(cbVideoLocal)))
                 .addContainerGap())
@@ -304,7 +308,7 @@ public class ConfigDialog extends javax.swing.JDialog {
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(gl_pnlFileVideo.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(lblVideoFileNamepattern)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(gl_pnlFileVideo.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(lblVideoFileNamepattern)
-                    .addComponent(fldFileNamePattern, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(fldVideoFileNamePattern, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                     .addComponent(cbVideoLocal))
                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
                     .addComponent(cbVideoLocal))
                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
@@ -363,11 +367,11 @@ public class ConfigDialog extends javax.swing.JDialog {
 
         btnOutputDir.setText("...");
 
 
         btnOutputDir.setText("...");
 
-        cbConvertEnable.setText("変換");
+        cbOutputEnable.setText("変換");
 
 
-        cbCommentOverlay.setText("コメント付与");
+        cbOutputCommentOverlay.setText("コメント付与");
 
 
-        cbDisplayConverting.setText("変換中動画表示");
+        cbOutputDisplayProgress.setText("変換中動画表示");
 
         javax.swing.GroupLayout gl_pnlFileOutput = new javax.swing.GroupLayout(pnlFileOutput);
         pnlFileOutput.setLayout(gl_pnlFileOutput);
 
         javax.swing.GroupLayout gl_pnlFileOutput = new javax.swing.GroupLayout(pnlFileOutput);
         pnlFileOutput.setLayout(gl_pnlFileOutput);
@@ -389,11 +393,11 @@ public class ConfigDialog extends javax.swing.JDialog {
                         .addComponent(fldOutputFileNamePattern, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
                         .addGroup(gl_pnlFileOutput.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                         .addComponent(fldOutputFileNamePattern, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
                         .addGroup(gl_pnlFileOutput.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
-                            .addComponent(cbDisplayConverting)
+                            .addComponent(cbOutputDisplayProgress)
                             .addGroup(gl_pnlFileOutput.createSequentialGroup()
                             .addGroup(gl_pnlFileOutput.createSequentialGroup()
-                                .addComponent(cbConvertEnable)
+                                .addComponent(cbOutputEnable)
                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                                .addComponent(cbCommentOverlay))))))
+                                .addComponent(cbOutputCommentOverlay))))))
         );
         gl_pnlFileOutput.setVerticalGroup(
             gl_pnlFileOutput.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         );
         gl_pnlFileOutput.setVerticalGroup(
             gl_pnlFileOutput.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -406,10 +410,10 @@ public class ConfigDialog extends javax.swing.JDialog {
                 .addGroup(gl_pnlFileOutput.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(lblOutputFileNamePattern)
                     .addComponent(fldOutputFileNamePattern, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                 .addGroup(gl_pnlFileOutput.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(lblOutputFileNamePattern)
                     .addComponent(fldOutputFileNamePattern, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
-                    .addComponent(cbCommentOverlay)
-                    .addComponent(cbConvertEnable))
+                    .addComponent(cbOutputCommentOverlay)
+                    .addComponent(cbOutputEnable))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(cbDisplayConverting)
+                .addComponent(cbOutputDisplayProgress)
                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
@@ -439,7 +443,7 @@ public class ConfigDialog extends javax.swing.JDialog {
 
         jTabbedPane1.addTab("ファイル", pnlFile);
 
 
         jTabbedPane1.addTab("ファイル", pnlFile);
 
-        pnlCommentStandard.setBorder(javax.swing.BorderFactory.createEtchedBorder());
+        pnlCommentStandard.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
 
         lblCommentSize.setText("再生時間に応じたコメントの取得数");
 
 
         lblCommentSize.setText("再生時間に応じたコメントの取得数");
 
@@ -455,7 +459,7 @@ public class ConfigDialog extends javax.swing.JDialog {
 
         lblCommentDisplayMax.setText("1画面に表示する最大コメント数");
 
 
         lblCommentDisplayMax.setText("1画面に表示する最大コメント数");
 
-        cbCommentDisplayMaxDefault.setText("標準(30)");
+        cbCommentDisplaySizeDefault.setText("標準(30)");
 
         lblCommentDisplayMaxManual.setText("手動設定");
 
 
         lblCommentDisplayMaxManual.setText("手動設定");
 
@@ -472,7 +476,7 @@ public class ConfigDialog extends javax.swing.JDialog {
                         .addGroup(gl_pnlCommentStandard.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                             .addComponent(cbCommentSizeAuto)
                             .addComponent(cbCommentMinSizeAuto)
                         .addGroup(gl_pnlCommentStandard.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                             .addComponent(cbCommentSizeAuto)
                             .addComponent(cbCommentMinSizeAuto)
-                            .addComponent(cbCommentDisplayMaxDefault))
+                            .addComponent(cbCommentDisplaySizeDefault))
                         .addGap(18, 18, 18)
                         .addGroup(gl_pnlCommentStandard.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                             .addComponent(lblCommentDisplayMaxManual)
                         .addGap(18, 18, 18)
                         .addGroup(gl_pnlCommentStandard.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                             .addComponent(lblCommentDisplayMaxManual)
@@ -483,7 +487,7 @@ public class ConfigDialog extends javax.swing.JDialog {
                     .addComponent(lblCommentDisplayMax))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(gl_pnlCommentStandard.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                     .addComponent(lblCommentDisplayMax))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(gl_pnlCommentStandard.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
-                    .addComponent(fldCommentDisplayMaxManual, 0, 0, Short.MAX_VALUE)
+                    .addComponent(fldCommentDisplaySizeManual, 0, 0, Short.MAX_VALUE)
                     .addComponent(fldCommentMinSizeManual)
                     .addComponent(fldCommentSizeManual, javax.swing.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE))
                 .addContainerGap(25, Short.MAX_VALUE))
                     .addComponent(fldCommentMinSizeManual)
                     .addComponent(fldCommentSizeManual, javax.swing.GroupLayout.DEFAULT_SIZE, 62, Short.MAX_VALUE))
                 .addContainerGap(25, Short.MAX_VALUE))
@@ -506,9 +510,9 @@ public class ConfigDialog extends javax.swing.JDialog {
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(gl_pnlCommentStandard.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(lblCommentDisplayMax)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addGroup(gl_pnlCommentStandard.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                     .addComponent(lblCommentDisplayMax)
-                    .addComponent(cbCommentDisplayMaxDefault)
+                    .addComponent(cbCommentDisplaySizeDefault)
                     .addComponent(lblCommentDisplayMaxManual)
                     .addComponent(lblCommentDisplayMaxManual)
-                    .addComponent(fldCommentDisplayMaxManual, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(fldCommentDisplaySizeManual, 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(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
@@ -516,7 +520,7 @@ public class ConfigDialog extends javax.swing.JDialog {
 
         lblFontPath.setText("フォントパス");
 
 
         lblFontPath.setText("フォントパス");
 
-        cbArrangeFontSizeDisable.setText("フォントサイズ調整を行わない");
+        cbFontSizeArrangeDisable.setText("フォントサイズ調整を行わない");
 
         cbCommentOpaque.setText("コメント透明化を行わない");
 
 
         cbCommentOpaque.setText("コメント透明化を行わない");
 
@@ -547,7 +551,7 @@ public class ConfigDialog extends javax.swing.JDialog {
                                 .addComponent(fldFontIndex, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)))
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                         .addComponent(btnFontPath))
                                 .addComponent(fldFontIndex, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 48, Short.MAX_VALUE)))
                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                         .addComponent(btnFontPath))
-                    .addComponent(cbArrangeFontSizeDisable))
+                    .addComponent(cbFontSizeArrangeDisable))
                 .addContainerGap())
         );
         gl_pnlCommentAdvanced.setVerticalGroup(
                 .addContainerGap())
         );
         gl_pnlCommentAdvanced.setVerticalGroup(
@@ -566,7 +570,7 @@ public class ConfigDialog extends javax.swing.JDialog {
                     .addComponent(lblFontShadow)
                     .addComponent(fldFontShadow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                     .addComponent(lblFontShadow)
                     .addComponent(fldFontShadow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
-                .addComponent(cbArrangeFontSizeDisable)
+                .addComponent(cbFontSizeArrangeDisable)
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(cbCommentOpaque)
                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                 .addComponent(cbCommentOpaque)
                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
@@ -795,11 +799,7 @@ public class ConfigDialog extends javax.swing.JDialog {
 
         pnlNgWord.setBorder(javax.swing.BorderFactory.createTitledBorder("NGワード"));
 
 
         pnlNgWord.setBorder(javax.swing.BorderFactory.createTitledBorder("NGワード"));
 
-        lstNgWord.setModel(new javax.swing.AbstractListModel() {
-            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
-            public int getSize() { return strings.length; }
-            public Object getElementAt(int i) { return strings[i]; }
-        });
+        lstNgWord.setModel(mdlNgWord);
         scrNgWord.setViewportView(lstNgWord);
 
         btnNgWordAdd.setText("追加");
         scrNgWord.setViewportView(lstNgWord);
 
         btnNgWordAdd.setText("追加");
@@ -836,11 +836,7 @@ public class ConfigDialog extends javax.swing.JDialog {
 
         pnlNgId.setBorder(javax.swing.BorderFactory.createTitledBorder("NGID"));
 
 
         pnlNgId.setBorder(javax.swing.BorderFactory.createTitledBorder("NGID"));
 
-        lstNgId.setModel(new javax.swing.AbstractListModel() {
-            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
-            public int getSize() { return strings.length; }
-            public Object getElementAt(int i) { return strings[i]; }
-        });
+        lstNgId.setModel(mdlNgId);
         scrNgId.setViewportView(lstNgId);
 
         btnNgIdAdd.setText("追加");
         scrNgId.setViewportView(lstNgId);
 
         btnNgIdAdd.setText("追加");
@@ -1030,7 +1026,7 @@ public class ConfigDialog extends javax.swing.JDialog {
         layout.setVerticalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
         layout.setVerticalGroup(
             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
             .addGroup(layout.createSequentialGroup()
-                .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 451, javax.swing.GroupLayout.PREFERRED_SIZE)
+                .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 451, javax.swing.GroupLayout.PREFERRED_SIZE)
                 .addContainerGap(23, Short.MAX_VALUE))
         );
 
                 .addContainerGap(23, Short.MAX_VALUE))
         );
 
@@ -1089,17 +1085,17 @@ public class ConfigDialog extends javax.swing.JDialog {
     private javax.swing.JButton btnSearchVideoAdd;
     private javax.swing.JButton btnSearchVideoDel;
     private javax.swing.JButton btnNgWordAdd;
     private javax.swing.JButton btnSearchVideoAdd;
     private javax.swing.JButton btnSearchVideoDel;
     private javax.swing.JButton btnNgWordAdd;
-    private javax.swing.JCheckBox cbUseProxy;
-    private javax.swing.JCheckBox cbCommentDisplayMaxDefault;
-    private javax.swing.JCheckBox cbDisplayConverting;
-    private javax.swing.JCheckBox cbArrangeFontSizeDisable;
+    private javax.swing.JCheckBox cbProxyUse;
+    private javax.swing.JCheckBox cbCommentDisplaySizeDefault;
+    private javax.swing.JCheckBox cbOutputDisplayProgress;
+    private javax.swing.JCheckBox cbFontSizeArrangeDisable;
     private javax.swing.JCheckBox cbCommentOpaque;
     private javax.swing.JCheckBox cbVideoLocal;
     private javax.swing.JCheckBox cbCommentLocal;
     private javax.swing.JCheckBox cbCommentOpaque;
     private javax.swing.JCheckBox cbVideoLocal;
     private javax.swing.JCheckBox cbCommentLocal;
-    private javax.swing.JCheckBox cbConvertEnable;
+    private javax.swing.JCheckBox cbOutputEnable;
     private javax.swing.JCheckBox cbCommentSizeAuto;
     private javax.swing.JCheckBox cbCommentMinSizeAuto;
     private javax.swing.JCheckBox cbCommentSizeAuto;
     private javax.swing.JCheckBox cbCommentMinSizeAuto;
-    private javax.swing.JCheckBox cbCommentOverlay;
+    private javax.swing.JCheckBox cbOutputCommentOverlay;
     private javax.swing.JCheckBox cbFfmpegOptionResize;
     private javax.swing.JCheckBox cbFfmpegOptionKeepAspect;
     private javax.swing.JComboBox cmbFfmpegOptionFile;
     private javax.swing.JCheckBox cbFfmpegOptionResize;
     private javax.swing.JCheckBox cbFfmpegOptionKeepAspect;
     private javax.swing.JComboBox cmbFfmpegOptionFile;
@@ -1134,8 +1130,10 @@ public class ConfigDialog extends javax.swing.JDialog {
     private javax.swing.JLabel lblOutputDir;
     private javax.swing.JList lstSearchVideo;
     private javax.swing.JList lstSearchComment;
     private javax.swing.JLabel lblOutputDir;
     private javax.swing.JList lstSearchVideo;
     private javax.swing.JList lstSearchComment;
-    private javax.swing.JList lstNgWord;
-    private javax.swing.JList lstNgId;
+    private javax.swing.JList<String> lstNgWord;
+    private final DefaultListModel<String> mdlNgWord = new DefaultListModel<>();
+    private javax.swing.JList<String> lstNgId;
+    private final DefaultListModel<String> mdlNgId = new DefaultListModel<>();
     private javax.swing.JPanel pnlNetwork;
     private javax.swing.JPanel jPanel10;
     private javax.swing.JPanel pnlFfmpegParam;
     private javax.swing.JPanel pnlNetwork;
     private javax.swing.JPanel jPanel10;
     private javax.swing.JPanel pnlFfmpegParam;
@@ -1178,7 +1176,7 @@ public class ConfigDialog extends javax.swing.JDialog {
     private javax.swing.JTextField fldPassword;
     private javax.swing.JTextField fldFfmpegOptionOut;
     private javax.swing.JTextField fldFfmpegOptionAv;
     private javax.swing.JTextField fldPassword;
     private javax.swing.JTextField fldFfmpegOptionOut;
     private javax.swing.JTextField fldFfmpegOptionAv;
-    private javax.swing.JTextField fldCommentDisplayMaxManual;
+    private javax.swing.JTextField fldCommentDisplaySizeManual;
     private javax.swing.JTextField fldFontPath;
     private javax.swing.JTextField fldFontIndex;
     private javax.swing.JTextField fldFontShadow;
     private javax.swing.JTextField fldFontPath;
     private javax.swing.JTextField fldFontIndex;
     private javax.swing.JTextField fldFontShadow;
@@ -1188,7 +1186,7 @@ public class ConfigDialog extends javax.swing.JDialog {
     private javax.swing.JTextField fldProxyHost;
     private javax.swing.JTextField fldProxyPort;
     private javax.swing.JTextField fldVideoDir;
     private javax.swing.JTextField fldProxyHost;
     private javax.swing.JTextField fldProxyPort;
     private javax.swing.JTextField fldVideoDir;
-    private javax.swing.JTextField fldFileNamePattern;
+    private javax.swing.JTextField fldVideoFileNamePattern;
     private javax.swing.JTextField fldCommentDir;
     private javax.swing.JTextField fldCommentFileNamePattern;
     private javax.swing.JTextField fldOutputDir;
     private javax.swing.JTextField fldCommentDir;
     private javax.swing.JTextField fldCommentFileNamePattern;
     private javax.swing.JTextField fldOutputDir;
@@ -1200,6 +1198,177 @@ public class ConfigDialog extends javax.swing.JDialog {
         /*
          * ネットワーク - アカウント
          */
         /*
          * ネットワーク - アカウント
          */
+        fldMail.setText(p.getId());
+        fldPassword.setText(p.getPassword());
+
+        /*
+         * ネットワーク - プロキシ
+         */
+        cbProxyUse.setSelected(p.getProxyUse());
+        fldProxyHost.setText(p.getProxyHost());
+        fldProxyPort.setText(p.getProxyPort());
+
+        /*
+         * ファイル - 動画
+         */
+        fldVideoDir.setText(p.getVideoDir());
+        fldVideoFileNamePattern.setText(p.getVideoFileNamePattern());
+        cbVideoLocal.setSelected(p.getVideoUseLocal());
+
+        /*
+         * ファイル - コメント
+         */
+        fldCommentDir.setText(p.getCommentDir());
+        fldCommentFileNamePattern.setText(p.getCommentFileNamePattern());
+        cbCommentLocal.setSelected(p.getCommentUseLocal());
+
+        /*
+         * ファイル - 変換動画
+         */
+        fldOutputDir.setText(p.getOutputDir());
+        fldOutputFileNamePattern.setText(p.getOutputFileNamePattern());
+        cbOutputEnable.setSelected(p.getOutputEnable());
+        cbOutputCommentOverlay.setSelected(p.getOutputCommentOverlay());
+        cbOutputDisplayProgress.setSelected(p.getOutputDisplayProgress());
+
+        /**
+         * コメント
+         */
+        cbCommentSizeAuto.setSelected(p.getCommentSizeAutosize());
+        fldCommentSizeManual.setText(p.getCommentSizeManual());
+        cbCommentMinSizeAuto.setSelected(p.getCommentMinSizeAutosize());
+        fldCommentSizeManual.setText(p.getCommentMinSizeManual());
+        cbCommentDisplaySizeDefault.setSelected(p.getCommentDisplaySizeDefault());
+        fldCommentDisplaySizeManual.setText(p.getCommentDisplaySizeManual());
+
+        /**
+         * コメント - 高度な設定
+         */
+        fldFontPath.setText(p.getFontPath());
+        fldFontIndex.setText(p.getFontIndex());
+        // TODO 影の種類はコンボボックス
+        cbFontSizeArrangeDisable.setSelected(p.getFontSizeArrangeDisable());
+        cbCommentOpaque.setSelected(p.getCommentOpaque());
+
+        /*
+         * ffmpeg - ファイルパス
+         */
+        fldFfmpegPath.setText(p.getFfmpegPath());
+        fldFfmpegDllPath.setText(p.getFfmpegDllPath());
+
+        /*
+         * ffmpeg - ffmpegパラメータ
+         */
+        rbFfmpegOptionFile.setSelected(!p.getFfmpegParamInputDirect());
+        rbFfmpegOptionDirectInput.setSelected(p.getFfmpegParamInputDirect());
+        // TODO cmbFfmpegOptionFile
+        fldFfmpegOptionExtension.setText(p.getFfmpegExtension());
+        fldFfmpegOptionMain.setText(p.getFfmpegMainOption());
+        fldFfmpegOptionIn.setText(p.getFfmpegInOption());
+        fldFfmpegOptionOut.setText(p.getFfmpegOutOption());
+        fldFfmpegOptionAv.setText(p.getFfmpegAvOption());
+        cbFfmpegOptionResize.setSelected(p.getFfmpegResizeEnable());
+        fldFfmpegOptionResizeWidth.setText(p.getFfmpegResizeWidth());
+        fldFfmpegOptionResizeHeight.setText(p.getFfmpegResizeHeight());
+        cbFfmpegOptionKeepAspect.setSelected(p.getFfmpegKeepAspect());
+
+        /*
+         * NG 設定
+         */
+        final List<String> ngWords = p.getNgWords();
+        for (String s : ngWords) {
+            mdlNgWord.addElement(s);
+        }
+        final List<String> ngIds = p.getNgIds();
+        for (String s : ngIds) {
+            mdlNgId.addElement(s);
+        }
+    }
+    private void saveConfig() {
+        final Config p = Config.INSTANCE;
+
+        /*
+         * ネットワーク - アカウント
+         */
+
+        p.setId(fldMail.getText());
+        p.setPassword(fldPassword.getText());
+
+        /*
+         * ネットワーク - プロキシ
+         */
+        p.setProxyUse(cbProxyUse.isSelected());
+        p.setProxyHost(fldProxyHost.getText());
+        p.setProxyPort(fldProxyPort.getText());
+
+        /*
+         * ファイル - 動画
+         */
+        p.setVideoDir(fldVideoDir.getText());
+        p.setVideoFileNamePattern(fldVideoFileNamePattern.getText());
+        p.setVideoUseLocal(cbVideoLocal.isSelected());
+
+        /*
+         * ファイル - コメント
+         */
+        p.setCommentDir(fldCommentDir.getText());
+        p.setCommentFileNamePattern(fldCommentFileNamePattern.getText());
+        p.setCommentUseLocal(cbCommentLocal.isSelected());
+
+        /*
+         * ファイル - 変換動画
+         */
+        p.setOutputDir(fldOutputDir.getText());
+        p.setOutputFileNamePattern(fldOutputFileNamePattern.getText());
+        p.setOutputEnable(cbOutputEnable.isSelected());
+        p.setOutputCommentOverlay(cbOutputCommentOverlay.isSelected());
+        p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected());
+
+        /**
+         * コメント
+         */
+        p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());
+        p.setCommentSizeManual(fldCommentSizeManual.getText());
+        p.setCommentMinSizeAutosize(cbCommentMinSizeAuto.isSelected());
+        p.setCommentMinSizeManual(fldCommentSizeManual.getText());
+        p.setCommentDisplaySizeDefault(cbCommentDisplaySizeDefault.isSelected());
+        p.setCommentDisplaySizeManual(fldCommentDisplaySizeManual.getText());
+
+        /**
+         * コメント - 高度な設定
+         */
+        p.setFontPath(fldFontPath.getText());
+        p.setFontIndex(fldFontIndex.getText());
+        // TODO 影の種類はコンボボックス
+        p.setFontSizeArrangeDisable(cbFontSizeArrangeDisable.isSelected());
+        p.setCommentOpaque(cbCommentOpaque.isSelected());
+
+        /*
+         * ffmpeg - ファイルパス
+         */
+        p.setFfmpegPath(fldFfmpegPath.getText());
+        p.setFfmpegDllPath(fldFfmpegDllPath.getText());
+
+        /*
+         * ffmpeg - ffmpegパラメータ
+         */
+        p.setFfmpegParamInputDirect(rbFfmpegOptionDirectInput.isSelected());
+        // TODO cmbFfmpegOptionFile
+        p.setFfmpegExtension(fldFfmpegOptionExtension.getText());
+        p.setFfmpegMainOption(fldFfmpegOptionMain.getText());
+        p.setFfmpegInOption(fldFfmpegOptionIn.getText());
+        p.setFfmpegOutOption(fldFfmpegOptionOut.getText());
+        p.setFfmpegAvOption(fldFfmpegOptionAv.getText());
+        p.setFfmpegResizeEnable(cbFfmpegOptionResize.isSelected());
+        p.setFfmpegResizeWidth(fldFfmpegOptionResizeWidth.getText());
+        p.setFfmpegResizeHeight(fldFfmpegOptionResizeHeight.getText());
+        p.setFfmpegKeepAspect(cbFfmpegOptionKeepAspect.isSelected());
+
+        /*
+         * NG 設定
+         */
+        p.setNgWords(Arrays.asList((String[]) mdlNgWord.toArray()));
+        p.setNgIds(Arrays.asList((String[])mdlNgId.toArray()));
 
     }
 }
 
     }
 }
index 189edc3..b1371e4 100644 (file)
@@ -85,7 +85,7 @@ public class ConfigTest {
          * ネットワーク - プロキシ
          */
         assertEquals(false, p.getProxyUse());
          * ネットワーク - プロキシ
          */
         assertEquals(false, p.getProxyUse());
-        p.setUseProxy(true);
+        p.setProxyUse(true);
         assertEquals(true, p.getProxyUse());
 
         assertEquals("localhost", p.getProxyHost());
         assertEquals(true, p.getProxyUse());
 
         assertEquals("localhost", p.getProxyHost());