X-Git-Url: http://git.sourceforge.jp/view?p=coroid%2Finqubus.git;a=blobdiff_plain;f=frontend%2Fsrc%2Fyukihane%2Finqubus%2Fgui%2FConfigDialog.java;h=87f8d2b284fe7ab389a2fd6dd794a4b8bf572358;hp=aeae92e6dc0d5cfcadb431a58ba4d3855af3f56d;hb=d1c822efae148ada260d30f78b5e65eb79a849fc;hpb=51a34341b895dc6a88874a858de9be245675c61a;ds=inline diff --git a/frontend/src/yukihane/inqubus/gui/ConfigDialog.java b/frontend/src/yukihane/inqubus/gui/ConfigDialog.java index aeae92e..87f8d2b 100644 --- a/frontend/src/yukihane/inqubus/gui/ConfigDialog.java +++ b/frontend/src/yukihane/inqubus/gui/ConfigDialog.java @@ -38,6 +38,7 @@ import javax.swing.SpinnerNumberModel; 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 JLabel lblMail = new JLabel(); fldMail = new JTextField(); fldPassword.setEchoChar('*'); - final JLabel lblPassword = 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("アカウント")); - 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); - 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() + .addGap(10) .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) - .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() + .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)) @@ -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("..."); - 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); @@ -167,7 +167,7 @@ public class ConfigDialog extends JDialog { glCookie.setAutoCreateGaps(true); glCookie.setHorizontalGroup(glCookie.createParallelGroup() - .addComponent(cbxCookie) + .addComponent(btnLoginCookie) .addGroup(glCookie.createSequentialGroup() .addGap(10) .addGroup(glCookie.createParallelGroup() @@ -186,7 +186,7 @@ public class ConfigDialog extends JDialog { ); glCookie.setVerticalGroup(glCookie.createSequentialGroup() - .addComponent(cbxCookie) + .addComponent(btnLoginCookie) .addComponent(btnCookieIe) .addComponent(btnCookieFirefox) .addComponent(btnCookieChrome) @@ -334,38 +334,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 +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(pnlFileProhibit, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ) .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) - .addComponent(pnlFileProhibit, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .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(); + // ネットワーク - 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(); @@ -845,9 +821,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("自動調整"); @@ -898,10 +871,42 @@ public class ConfigDialog extends JDialog { /* * ネットワーク - アカウント */ + btnAccount.setSelected(p.getNeedsLogin()); 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()); @@ -931,12 +936,6 @@ public class ConfigDialog extends JDialog { 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())); /* + * ネットワーク - 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()); @@ -1039,12 +1060,6 @@ public class ConfigDialog extends JDialog { p.setOutputDisplayProgress(cbOutputDisplayProgress.isSelected()); /* - * ファイル - 禁則文字 - */ - p.setReplaceFrom(fldReplaceFrom.getText()); - p.setReplaceTo(fldReplaceTo.getText()); - - /* * コメント */ p.setCommentSizeAutosize(cbCommentSizeAuto.isSelected());