OSDN Git Service

設定のsave, load処理
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / gui / ConfigDialog.java
index 720a1f9..cbb2235 100644 (file)
@@ -5,21 +5,18 @@
  */
 package yukihane.inqubus.gui;
 
-import static javax.swing.GroupLayout.DEFAULT_SIZE;
-import static javax.swing.GroupLayout.PREFERRED_SIZE;
-
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.File;
 import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import javax.swing.BorderFactory;
 import javax.swing.ButtonGroup;
 import javax.swing.ComboBoxModel;
 import javax.swing.DefaultComboBoxModel;
 import javax.swing.GroupLayout;
 import javax.swing.GroupLayout.Alignment;
+import static javax.swing.GroupLayout.DEFAULT_SIZE;
+import static javax.swing.GroupLayout.PREFERRED_SIZE;
 import javax.swing.JButton;
 import javax.swing.JCheckBox;
 import javax.swing.JComboBox;
@@ -37,6 +34,8 @@ import javax.swing.LayoutStyle.ComponentPlacement;
 import javax.swing.SpinnerNumberModel;
 import javax.swing.WindowConstants;
 import org.apache.commons.configuration.ConfigurationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import yukihane.inqubus.config.Config;
 import yukihane.inqubus.config.Config.CookieBrowser;
 
@@ -56,6 +55,7 @@ public class ConfigDialog extends JDialog {
 
     public ConfigDialog(JFrame owner){
         super(owner);
+        setTitle("いんきゅばす 設定");
 
         final JTabbedPane tabbedPane = new JTabbedPane();
         final JPanel pnlNetwork = new JPanel();
@@ -83,6 +83,7 @@ public class ConfigDialog extends JDialog {
         final JLabel lblCommentMinSizeManual = new JLabel();
         final JLabel lblCommentDisplayMax = new JLabel();
         final JLabel lblCommentDisplayMaxManual = new JLabel();
+        final JLabel lblCommentOwnerOnly = new JLabel();
         final JPanel pnlCommentAdvanced = new JPanel();
         final JLabel lblFontPath = new JLabel();
         cbFontSizeArrangeDisable = new JCheckBox();
@@ -334,38 +335,6 @@ public class ConfigDialog extends JDialog {
                 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
-        final JPanel pnlFileProhibit = new JPanel();
-        pnlFileProhibit.setBorder(BorderFactory.createTitledBorder("禁則文字"));
-        final JLabel lblReplaceFrom = new JLabel("置換対象文字");
-        final JLabel lblReplaceTo = new JLabel("置換後文字");
-
-        final GroupLayout glProhibit = new GroupLayout(pnlFileProhibit);
-        glProhibit.setAutoCreateContainerGaps(true);
-        glProhibit.setAutoCreateGaps(true);
-        pnlFileProhibit.setLayout(glProhibit);
-
-        glProhibit.setHorizontalGroup(glProhibit.createSequentialGroup()
-            .addGroup(glProhibit.createParallelGroup()
-                .addComponent(lblReplaceFrom)
-                .addComponent(lblReplaceTo)
-            )
-            .addGroup(glProhibit.createParallelGroup()
-                .addComponent(fldReplaceFrom)
-                .addComponent(fldReplaceTo)
-            )
-        );
-
-        glProhibit.setVerticalGroup(glProhibit.createSequentialGroup()
-            .addGroup(glProhibit.createParallelGroup(Alignment.BASELINE)
-                .addComponent(lblReplaceFrom)
-                .addComponent(fldReplaceFrom)
-            )
-            .addGroup(glProhibit.createParallelGroup(Alignment.BASELINE)
-                .addComponent(lblReplaceTo)
-                .addComponent(fldReplaceTo)
-            )
-        );
-
         GroupLayout gl_pnlFile = new GroupLayout(pnlFile);
         pnlFile.setLayout(gl_pnlFile);
         gl_pnlFile.setHorizontalGroup(
@@ -376,7 +345,6 @@ public class ConfigDialog extends JDialog {
                     .addComponent(pnlFileOutput, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                     .addComponent(pnlFileVideo, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                     .addComponent(pnlFileComment, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
-                    .addComponent(pnlFileProhibit, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                 )
                 .addContainerGap())
         );
@@ -390,7 +358,6 @@ public class ConfigDialog extends JDialog {
                 .addPreferredGap(ComponentPlacement.RELATED)
                 .addComponent(pnlFileOutput, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                 .addPreferredGap(ComponentPlacement.RELATED)
-                .addComponent(pnlFileProhibit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                 .addContainerGap())
         );
 
@@ -410,6 +377,8 @@ public class ConfigDialog extends JDialog {
 
         lblCommentDisplayMaxManual.setText("手動設定");
 
+        lblCommentOwnerOnly.setText("取得するコメントの種類");
+
         GroupLayout gl_pnlCommentStandard = new GroupLayout(pnlCommentStandard);
         pnlCommentStandard.setLayout(gl_pnlCommentStandard);
         gl_pnlCommentStandard.setAutoCreateContainerGaps(true);
@@ -419,20 +388,30 @@ public class ConfigDialog extends JDialog {
                 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
                     .addComponent(lblCommentSize)
                     .addComponent(lblCommentMinSize)
-                    .addComponent(lblCommentDisplayMax))
-                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
-                    .addComponent(cbCommentSizeAuto)
-                    .addComponent(cbCommentMinDisable)
-                    .addComponent(cbCommentMinSizeAuto)
-                    .addComponent(cbCommentDisplaySizeDefault))
-                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
-                    .addComponent(lblCommentSizeManual)
-                    .addComponent(lblCommentMinSizeManual)
-                    .addComponent(lblCommentDisplayMaxManual))
+                    .addComponent(lblCommentDisplayMax)
+                    .addComponent(lblCommentOwnerOnly)
+                )
                 .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
-                    .addComponent(fldCommentSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                    .addComponent(fldCommentMinSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
-                    .addComponent(fldCommentDisplaySizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                    .addGroup(gl_pnlCommentStandard.createSequentialGroup()
+                        .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
+                            .addComponent(cbCommentSizeAuto)
+                            .addComponent(cbCommentMinDisable)
+                            .addComponent(cbCommentMinSizeAuto)
+                            .addComponent(cbCommentDisplaySizeDefault)
+                        )
+                        .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
+                            .addComponent(lblCommentSizeManual)
+                            .addComponent(lblCommentMinSizeManual)
+                            .addComponent(lblCommentDisplayMaxManual))
+                        .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.LEADING)
+                            .addComponent(fldCommentSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                            .addComponent(fldCommentMinSizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
+                            .addComponent(fldCommentDisplaySizeManual, 48, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+                    )
+                    .addGroup(gl_pnlCommentStandard.createSequentialGroup()
+                        .addComponent(cbCommentOwnerOnly)
+                    )
+                )
         );
         gl_pnlCommentStandard.setVerticalGroup(
             gl_pnlCommentStandard.createSequentialGroup()
@@ -454,6 +433,10 @@ public class ConfigDialog extends JDialog {
                     .addComponent(cbCommentDisplaySizeDefault)
                     .addComponent(lblCommentDisplayMaxManual)
                     .addComponent(fldCommentDisplaySizeManual))
+                .addGroup(gl_pnlCommentStandard.createParallelGroup(GroupLayout.Alignment.BASELINE)
+                    .addComponent(lblCommentOwnerOnly)
+                    .addComponent(cbCommentOwnerOnly)
+                )
         );
 
         pnlCommentAdvanced.setBorder(BorderFactory.createTitledBorder("高度な設定"));
@@ -855,9 +838,6 @@ public class ConfigDialog extends JDialog {
     private final JCheckBox cbOutputEnable;
     private final JCheckBox cbOutputCommentOverlay;
     private final JCheckBox cbOutputDisplayProgress;
-    // ファイル - 禁則文字
-    private final JTextField fldReplaceFrom = new JTextField();
-    private final JTextField fldReplaceTo = new JTextField();
     // コメント
     // コメント
     private final JCheckBox cbCommentSizeAuto = new JCheckBox("自動調整");
@@ -867,6 +847,7 @@ public class ConfigDialog extends JDialog {
     private final NumberFormattedTextField fldCommentMinSizeManual = new NumberFormattedTextField();
     private final JCheckBox cbCommentDisplaySizeDefault = new JCheckBox("標準(30)");
     private final NumberFormattedTextField fldCommentDisplaySizeManual = new NumberFormattedTextField();
+    private final JCheckBox cbCommentOwnerOnly = new JCheckBox("投稿者コメントのみ");
     // コメント - 高度な設定
     private final JTextField fldFontPath;
     private final JTextField fldFontIndex;
@@ -973,12 +954,6 @@ public class ConfigDialog extends JDialog {
         cbOutputCommentOverlay.setSelected(p.getOutputCommentOverlay());
         cbOutputDisplayProgress.setSelected(p.getOutputDisplayProgress());
 
-        /*
-         * ファイル - 禁則文字
-         */
-        fldReplaceFrom.setText(p.getReplaceFrom());
-        fldReplaceTo.setText(p.getReplaceTo());
-
         /**
          * コメント
          */
@@ -989,6 +964,7 @@ public class ConfigDialog extends JDialog {
         fldCommentSizeManual.setText(p.getCommentMinSizeManual());
         cbCommentDisplaySizeDefault.setSelected(p.getCommentDisplaySizeDefault());
         fldCommentDisplaySizeManual.setText(p.getCommentDisplaySizeManual());
+        cbCommentOwnerOnly.setSelected(p.getCommentOwnerOnly());
 
         /**
          * コメント - 高度な設定
@@ -1103,12 +1079,6 @@ public class ConfigDialog extends JDialog {
         p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected());
 
         /*
-         * ファイル - 禁則文字
-         */
-        p.setReplaceFrom(fldReplaceFrom.getText());
-        p.setReplaceTo(fldReplaceTo.getText());
-
-        /*
          * コメント
          */
         p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());
@@ -1118,6 +1088,7 @@ public class ConfigDialog extends JDialog {
         p.setCommentMinSizeManual(fldCommentSizeManual.getText());
         p.setCommentDisplaySizeDefault(cbCommentDisplaySizeDefault.isSelected());
         p.setCommentDisplaySizeManual(fldCommentDisplaySizeManual.getText());
+        p.setCommentOwnerOnly(cbCommentOwnerOnly.isSelected());
 
         /**
          * コメント - 高度な設定