OSDN Git Service

置換文字設定を削除
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / gui / ConfigDialog.java
index aeae92e..87f8d2b 100644 (file)
@@ -38,6 +38,7 @@ import javax.swing.SpinnerNumberModel;
 import javax.swing.WindowConstants;
 import org.apache.commons.configuration.ConfigurationException;
 import yukihane.inqubus.config.Config;
 import javax.swing.WindowConstants;
 import org.apache.commons.configuration.ConfigurationException;
 import yukihane.inqubus.config.Config;
+import yukihane.inqubus.config.Config.CookieBrowser;
 
 /**
  *
 
 /**
  *
@@ -59,10 +60,8 @@ public class ConfigDialog extends JDialog {
         final JTabbedPane tabbedPane = new JTabbedPane();
         final JPanel pnlNetwork = new JPanel();
         final JPanel pnlAccount = new JPanel();
         final JTabbedPane tabbedPane = new JTabbedPane();
         final JPanel pnlNetwork = new JPanel();
         final JPanel pnlAccount = new JPanel();
-        final JLabel lblMail = new JLabel();
         fldMail = new JTextField();
         fldPassword.setEchoChar('*');
         fldMail = new JTextField();
         fldPassword.setEchoChar('*');
-        final JLabel lblPassword = new JLabel();
         final JPanel pnlProxy = new JPanel();
         cbProxyUse = new JCheckBox();
         final JLabel lblProxyHost = new JLabel();
         final JPanel pnlProxy = new JPanel();
         cbProxyUse = new JCheckBox();
         final JLabel lblProxyHost = new JLabel();
@@ -106,29 +105,34 @@ public class ConfigDialog extends JDialog {
 
         pnlAccount.setBorder(BorderFactory.createTitledBorder("アカウント"));
 
 
         pnlAccount.setBorder(BorderFactory.createTitledBorder("アカウント"));
 
-        lblMail.setText("ID(メールアドレス)");
-
-        lblPassword.setText("パスワード");
+        final JLabel lblMail = new JLabel("ID(メールアドレス)");
+        final JLabel lblPassword = new JLabel("パスワード");
 
         GroupLayout gl_pnlAccount = new GroupLayout(pnlAccount);
         pnlAccount.setLayout(gl_pnlAccount);
 
         GroupLayout gl_pnlAccount = new GroupLayout(pnlAccount);
         pnlAccount.setLayout(gl_pnlAccount);
-        gl_pnlAccount.setHorizontalGroup(
-            gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
+        gl_pnlAccount.setHorizontalGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
+            .addComponent(btnAccount)
             .addGroup(gl_pnlAccount.createSequentialGroup()
                 .addContainerGap()
             .addGroup(gl_pnlAccount.createSequentialGroup()
                 .addContainerGap()
+                .addGap(10)
                 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
                     .addComponent(lblMail)
                 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
                     .addComponent(lblMail)
-                    .addComponent(lblPassword))
+                    .addComponent(lblPassword)
+                )
                 .addPreferredGap(ComponentPlacement.RELATED)
                 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
                     .addComponent(fldPassword, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
                 .addPreferredGap(ComponentPlacement.RELATED)
                 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
                     .addComponent(fldPassword, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
-                    .addComponent(fldMail, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE))
-                .addContainerGap())
+                    .addComponent(fldMail, GroupLayout.DEFAULT_SIZE, 306, Short.MAX_VALUE)
+                )
+                .addContainerGap()
+            )
         );
         gl_pnlAccount.setVerticalGroup(
             gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
             .addGroup(gl_pnlAccount.createSequentialGroup()
                 .addContainerGap()
         );
         gl_pnlAccount.setVerticalGroup(
             gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.LEADING)
             .addGroup(gl_pnlAccount.createSequentialGroup()
                 .addContainerGap()
+                .addComponent(btnAccount)
+                .addPreferredGap(ComponentPlacement.RELATED)
                 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.BASELINE)
                     .addComponent(lblMail)
                     .addComponent(fldMail, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                 .addGroup(gl_pnlAccount.createParallelGroup(GroupLayout.Alignment.BASELINE)
                     .addComponent(lblMail)
                     .addComponent(fldMail, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
@@ -140,16 +144,12 @@ public class ConfigDialog extends JDialog {
         );
 
 
         );
 
 
-        final JCheckBox cbxCookie = new JCheckBox("ブラウザのログイン情報を使用してアクセスする");
-        final JRadioButton btnCookieIe = new JRadioButton("IE(7以降) (Windows)");
-        final JRadioButton btnCookieFirefox = new JRadioButton("Firefox(4以降) (Windows)");
-        final JRadioButton btnCookieChrome = new JRadioButton("Google Chrome (Windows)");
-        final JRadioButton btnCookieChromium = new JRadioButton("Chrome派生ブラウザ (Windows)");
-        final JRadioButton btnCookieOpera = new JRadioButton("Opera (Windows)");
-        final JRadioButton btnCookieOther = new JRadioButton("上記以外 - cookie保存ディレクトリを次に入力");
-        final JTextField fldCookie = new JTextField();
         final JButton btnCookie = new JButton("...");
         final JButton btnCookie = new JButton("...");
-        btnCookie.addActionListener(new FileChooseActionListener(this, JFileChooser.DIRECTORIES_ONLY, fldCookie));
+        btnCookie.addActionListener(new FileChooseActionListener(this, JFileChooser.FILES_AND_DIRECTORIES, fldCookie));
+
+        final ButtonGroup grpLoginType = new ButtonGroup();
+        grpLoginType.add(btnAccount);
+        grpLoginType.add(btnLoginCookie);
 
         final ButtonGroup grpCookie = new ButtonGroup();
         grpCookie.add(btnCookieIe);
 
         final ButtonGroup grpCookie = new ButtonGroup();
         grpCookie.add(btnCookieIe);
@@ -167,7 +167,7 @@ public class ConfigDialog extends JDialog {
         glCookie.setAutoCreateGaps(true);
 
         glCookie.setHorizontalGroup(glCookie.createParallelGroup()
         glCookie.setAutoCreateGaps(true);
 
         glCookie.setHorizontalGroup(glCookie.createParallelGroup()
-            .addComponent(cbxCookie)
+            .addComponent(btnLoginCookie)
             .addGroup(glCookie.createSequentialGroup()
                 .addGap(10)
                 .addGroup(glCookie.createParallelGroup()
             .addGroup(glCookie.createSequentialGroup()
                 .addGap(10)
                 .addGroup(glCookie.createParallelGroup()
@@ -186,7 +186,7 @@ public class ConfigDialog extends JDialog {
         );
 
         glCookie.setVerticalGroup(glCookie.createSequentialGroup()
         );
 
         glCookie.setVerticalGroup(glCookie.createSequentialGroup()
-            .addComponent(cbxCookie)
+            .addComponent(btnLoginCookie)
             .addComponent(btnCookieIe)
             .addComponent(btnCookieFirefox)
             .addComponent(btnCookieChrome)
             .addComponent(btnCookieIe)
             .addComponent(btnCookieFirefox)
             .addComponent(btnCookieChrome)
@@ -334,38 +334,6 @@ public class ConfigDialog extends JDialog {
                 .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
         );
 
                 .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(
         GroupLayout gl_pnlFile = new GroupLayout(pnlFile);
         pnlFile.setLayout(gl_pnlFile);
         gl_pnlFile.setHorizontalGroup(
@@ -376,7 +344,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(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())
         );
                 )
                 .addContainerGap())
         );
@@ -390,7 +357,6 @@ public class ConfigDialog extends JDialog {
                 .addPreferredGap(ComponentPlacement.RELATED)
                 .addComponent(pnlFileOutput, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                 .addPreferredGap(ComponentPlacement.RELATED)
                 .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())
         );
 
                 .addContainerGap())
         );
 
@@ -827,8 +793,18 @@ public class ConfigDialog extends JDialog {
 
     // ネットワーク
     // ネットワーク - アカウント
 
     // ネットワーク
     // ネットワーク - アカウント
+    final JRadioButton btnAccount = new JRadioButton("次の情報を使用してログインする");
     private final JTextField fldMail;
     private final JPasswordField fldPassword = new JPasswordField();
     private final JTextField fldMail;
     private final JPasswordField fldPassword = new JPasswordField();
+    // ネットワーク - cookie
+    final JRadioButton btnLoginCookie = new JRadioButton("ブラウザのログイン情報を使用してアクセスする");
+    final JRadioButton btnCookieIe = new JRadioButton("IE(7以降) (Windows)");
+    final JRadioButton btnCookieFirefox = new JRadioButton("Firefox(4以降) (Windows)");
+    final JRadioButton btnCookieChrome = new JRadioButton("Google Chrome (Windows)");
+    final JRadioButton btnCookieChromium = new JRadioButton("Chrome派生ブラウザ (Windows)");
+    final JRadioButton btnCookieOpera = new JRadioButton("Opera (Windows)");
+    final JRadioButton btnCookieOther = new JRadioButton("上記以外 - cookie保存ディレクトリを次に入力");
+    final JTextField fldCookie = new JTextField();
     // ネットワーク - プロキシ
     private final JCheckBox cbProxyUse;
     private final JTextField fldProxyHost = new JTextField();
     // ネットワーク - プロキシ
     private final JCheckBox cbProxyUse;
     private final JTextField fldProxyHost = new JTextField();
@@ -845,9 +821,6 @@ public class ConfigDialog extends JDialog {
     private final JCheckBox cbOutputEnable;
     private final JCheckBox cbOutputCommentOverlay;
     private final JCheckBox cbOutputDisplayProgress;
     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("自動調整");
     // コメント
     // コメント
     private final JCheckBox cbCommentSizeAuto = new JCheckBox("自動調整");
@@ -898,10 +871,42 @@ public class ConfigDialog extends JDialog {
         /*
          * ネットワーク - アカウント
          */
         /*
          * ネットワーク - アカウント
          */
+        btnAccount.setSelected(p.getNeedsLogin());
         fldMail.setText(p.getId());
         fldPassword.setText(p.getPassword());
 
         /*
         fldMail.setText(p.getId());
         fldPassword.setText(p.getPassword());
 
         /*
+         * ネットワーク - cookie
+         */
+        btnLoginCookie.setSelected(!p.getNeedsLogin());
+        final CookieBrowser cookieBrowser = p.getCookieBrowser();
+        final JRadioButton enabledBrowser;
+        switch(cookieBrowser){
+            case MSIE:
+                enabledBrowser = btnCookieIe;
+                break;
+            case FIREFOX:
+                enabledBrowser = btnCookieFirefox;
+                break;
+            case CHROME:
+                enabledBrowser = btnCookieChrome;
+                break;
+            case CHROMIUM:
+                enabledBrowser = btnCookieChromium;
+                break;
+            case OPERA:
+                enabledBrowser = btnCookieOpera;
+                break;
+            case OTHER:
+                enabledBrowser = btnCookieOther;
+                break;
+            default:
+                throw new UnsupportedOperationException();
+        }
+        enabledBrowser.setSelected(true);
+        fldCookie.setText(p.getCookieDir());
+
+        /*
          * ネットワーク - プロキシ
          */
         cbProxyUse.setSelected(p.getProxyUse());
          * ネットワーク - プロキシ
          */
         cbProxyUse.setSelected(p.getProxyUse());
@@ -931,12 +936,6 @@ public class ConfigDialog extends JDialog {
         cbOutputCommentOverlay.setSelected(p.getOutputCommentOverlay());
         cbOutputDisplayProgress.setSelected(p.getOutputDisplayProgress());
 
         cbOutputCommentOverlay.setSelected(p.getOutputCommentOverlay());
         cbOutputDisplayProgress.setSelected(p.getOutputDisplayProgress());
 
-        /*
-         * ファイル - 禁則文字
-         */
-        fldReplaceFrom.setText(p.getReplaceFrom());
-        fldReplaceTo.setText(p.getReplaceTo());
-
         /**
          * コメント
          */
         /**
          * コメント
          */
@@ -1004,11 +1003,33 @@ public class ConfigDialog extends JDialog {
         /*
          * ネットワーク - アカウント
          */
         /*
          * ネットワーク - アカウント
          */
-
+        p.setNeedsLogin(btnAccount.isSelected());
         p.setId(fldMail.getText());
         p.setPassword(String.valueOf(fldPassword.getPassword()));
 
         /*
         p.setId(fldMail.getText());
         p.setPassword(String.valueOf(fldPassword.getPassword()));
 
         /*
+         * ネットワーク - cookie
+         */
+        final CookieBrowser cookieBrowser;
+        if(btnCookieIe.isSelected()) {
+            cookieBrowser = CookieBrowser.MSIE;
+        } else if(btnCookieFirefox.isSelected()) {
+            cookieBrowser = CookieBrowser.FIREFOX;
+        } else if (btnCookieChrome.isSelected()) {
+            cookieBrowser = CookieBrowser.CHROME;
+        } else if (btnCookieChromium.isSelected()) {
+            cookieBrowser = CookieBrowser.CHROMIUM;
+        } else if(btnCookieOpera.isSelected()) {
+            cookieBrowser = CookieBrowser.OPERA;
+        } else if(btnCookieOther.isSelected()) {
+            cookieBrowser = CookieBrowser.OTHER;
+        } else {
+            throw new UnsupportedOperationException();
+        }
+        p.setCookieBrowser(cookieBrowser);
+        p.setCookieDir(fldCookie.getText());
+
+        /*
          * ネットワーク - プロキシ
          */
         p.setProxyUse(cbProxyUse.isSelected());
          * ネットワーク - プロキシ
          */
         p.setProxyUse(cbProxyUse.isSelected());
@@ -1039,12 +1060,6 @@ public class ConfigDialog extends JDialog {
         p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected());
 
         /*
         p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected());
 
         /*
-         * ファイル - 禁則文字
-         */
-        p.setReplaceFrom(fldReplaceFrom.getText());
-        p.setReplaceTo(fldReplaceTo.getText());
-
-        /*
          * コメント
          */
         p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());
          * コメント
          */
         p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());