X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGPreferences.java;h=5af94e42b7a11bdd4b3ab2d7fc4786bc64ffa17b;hb=f7791271668cdcf6e87b638f0e6475ccdea6a3f9;hp=ddef7a4fd4376673eb7f613f0fae3c9b0586250a;hpb=9495cd9a452073db15529f4844dc9888a6847d00;p=jalview.git diff --git a/src/jalview/jbgui/GPreferences.java b/src/jalview/jbgui/GPreferences.java index ddef7a4..5af94e4 100755 --- a/src/jalview/jbgui/GPreferences.java +++ b/src/jalview/jbgui/GPreferences.java @@ -427,11 +427,11 @@ public class GPreferences extends JPanel tabbedPane.add(initConnectionsTab(), MessageManager.getString("label.connections")); - if (!Platform.isJS()) - { - tabbedPane.add(initBackupsTab(), - MessageManager.getString("label.backups")); - } + if (!Platform.isJS()) + { + tabbedPane.add(initBackupsTab(), + MessageManager.getString("label.backups")); + } tabbedPane.add(initLinksTab(), MessageManager.getString("label.urllinks")); @@ -990,6 +990,33 @@ public class GPreferences extends JPanel proxyPortHttpsTB.setColumns(4); proxyAuthUsernameTB.setFont(LABEL_FONT); proxyAuthUsernameTB.setColumns(30); + + // check for any change to enable applyProxyButton + DocumentListener d = new DocumentListener() + { + @Override + public void changedUpdate(DocumentEvent e) + { + applyProxyButtonEnabled(true); + } + + @Override + public void insertUpdate(DocumentEvent e) + { + applyProxyButtonEnabled(true); + } + + @Override + public void removeUpdate(DocumentEvent e) + { + applyProxyButtonEnabled(true); + } + }; + proxyServerHttpTB.getDocument().addDocumentListener(d); + proxyPortHttpTB.getDocument().addDocumentListener(d); + proxyServerHttpsTB.getDocument().addDocumentListener(d); + proxyPortHttpsTB.getDocument().addDocumentListener(d); + proxyAuthUsernameTB.getDocument().addDocumentListener(d); proxyAuthPasswordPB.setFont(LABEL_FONT); proxyAuthPasswordPB.setColumns(30); proxyAuthPasswordPB.getDocument() @@ -998,19 +1025,22 @@ public class GPreferences extends JPanel @Override public void changedUpdate(DocumentEvent e) { - proxyAuthPasswordHighlight(true); + proxyAuthPasswordCheckHighlight(true); + applyProxyButtonEnabled(true); } @Override public void insertUpdate(DocumentEvent e) { - proxyAuthPasswordHighlight(true); + proxyAuthPasswordCheckHighlight(true); + applyProxyButtonEnabled(true); } @Override public void removeUpdate(DocumentEvent e) { - proxyAuthPasswordHighlight(true); + proxyAuthPasswordCheckHighlight(true); + applyProxyButtonEnabled(true); } }); @@ -1175,45 +1205,56 @@ public class GPreferences extends JPanel gbc.gridy++; proxyPanel.add(hpPanel, gbc); - // Require authentication checkbox - gbc.gridy++; - proxyPanel.add(proxyAuth, gbc); - - // username and password - JPanel upPanel = new JPanel(); - upPanel.setLayout(new GridBagLayout()); - // username row - c.gridy = 0; - c.gridx = 0; - c.gridwidth = 1; - c.weightx = 0.4; - c.anchor = GridBagConstraints.LINE_END; - upPanel.add(proxyAuthUsernameLabel, c); - - c.gridx++; - c.weightx = 1.0; - c.anchor = GridBagConstraints.LINE_START; - upPanel.add(proxyAuthUsernameTB, c); - - // password row - c.gridy++; - c.gridx = 0; - c.weightx = 0.4; - c.anchor = GridBagConstraints.LINE_END; - upPanel.add(proxyAuthPasswordLabel, c); - - c.gridx++; - c.weightx = 1.0; - c.anchor = GridBagConstraints.LINE_START; - upPanel.add(proxyAuthPasswordPB, c); - - c.gridx++; - c.weightx = 0.4; - c.anchor = GridBagConstraints.LINE_START; - upPanel.add(passwordNotStoredLabel, c); - - gbc.gridy++; - proxyPanel.add(upPanel, gbc); + if (!Platform.isJS()) + /** + * java.net.Authenticator is not implemented in SwingJS. Not displaying the + * Authentication options in Preferences. + * + * @j2sIgnore + * + */ + { + // Require authentication checkbox + gbc.gridy++; + proxyPanel.add(proxyAuth, gbc); + + // username and password + JPanel upPanel = new JPanel(); + upPanel.setLayout(new GridBagLayout()); + // username row + c.gridy = 0; + c.gridx = 0; + c.gridwidth = 1; + c.weightx = 0.4; + c.anchor = GridBagConstraints.LINE_END; + upPanel.add(proxyAuthUsernameLabel, c); + + c.gridx++; + c.weightx = 1.0; + c.anchor = GridBagConstraints.LINE_START; + upPanel.add(proxyAuthUsernameTB, c); + + // password row + c.gridy++; + c.gridx = 0; + c.weightx = 0.4; + c.anchor = GridBagConstraints.LINE_END; + upPanel.add(proxyAuthPasswordLabel, c); + + c.gridx++; + c.weightx = 1.0; + c.anchor = GridBagConstraints.LINE_START; + upPanel.add(proxyAuthPasswordPB, c); + + c.gridx++; + c.weightx = 0.4; + c.anchor = GridBagConstraints.LINE_START; + upPanel.add(passwordNotStoredLabel, c); + + gbc.gridy++; + proxyPanel.add(upPanel, gbc); + + } // end j2sIgnore applyProxyButton.setText(MessageManager.getString("action.apply")); applyProxyButton.addActionListener(new ActionListener() @@ -1222,6 +1263,7 @@ public class GPreferences extends JPanel public void actionPerformed(ActionEvent e) { saveProxySettings(); + applyProxyButton.setEnabled(false); } }); gbc.gridy++; @@ -1232,15 +1274,21 @@ public class GPreferences extends JPanel return proxyPanel; } - public void proxyAuthPasswordHighlight(boolean enabled) + public void proxyAuthPasswordCheckHighlight(boolean enabled) + { + proxyAuthPasswordCheckHighlight(enabled, false); + } + + public void proxyAuthPasswordCheckHighlight(boolean enabled, + boolean grabFocus) { if (enabled && proxyType.isSelected(customProxy.getModel()) && proxyAuth.isSelected() && !proxyAuthUsernameTB.getText().isEmpty() && proxyAuthPasswordPB.getDocument().getLength() == 0) { - - proxyAuthPasswordPB.grabFocus(); + if (grabFocus) + proxyAuthPasswordPB.grabFocus(); proxyAuthPasswordPB.setBackground(Color.PINK); } else @@ -1249,6 +1297,11 @@ public class GPreferences extends JPanel } } + public void applyProxyButtonEnabled(boolean enabled) + { + applyProxyButton.setEnabled(enabled); + } + public void saveProxySettings() { // overridden in Preferences @@ -1651,11 +1704,13 @@ public class GPreferences extends JPanel ypos += lineSpacing; structureViewerPathLabel = new JLabel(); - structureViewerPathLabel.setFont(LABEL_FONT);// new Font("SansSerif", 0, 11)); + structureViewerPathLabel.setFont(LABEL_FONT);// new Font("SansSerif", 0, + // 11)); structureViewerPathLabel.setHorizontalAlignment(SwingConstants.LEFT); structureViewerPathLabel.setText(MessageManager .formatMessage("label.viewer_path", "Chimera(X)")); - structureViewerPathLabel.setBounds(new Rectangle(10, ypos, 170, height)); + structureViewerPathLabel + .setBounds(new Rectangle(10, ypos, 170, height)); structureViewerPathLabel.setEnabled(false); structureTab.add(structureViewerPathLabel); @@ -1713,14 +1768,14 @@ public class GPreferences extends JPanel /* * hide Chimera options in JalviewJS */ - if (Platform.isJS()) + if (Platform.isJS()) { structureViewerPathLabel.setVisible(false); structureViewerPath.setVisible(false); viewerLabel.setVisible(false); structViewer.setVisible(false); } - + return structureTab; } @@ -2097,13 +2152,13 @@ public class GPreferences extends JPanel visualTab.add(fontNameCB); visualTab.add(fontSizeCB); visualTab.add(fontStyleCB); - + if (Platform.isJS()) { startupCheckbox.setVisible(false); startupFileTextfield.setVisible(false); } - + return visualTab; } @@ -2115,8 +2170,8 @@ public class GPreferences extends JPanel { BackupFilesPresetEntry savedPreset = BackupFilesPresetEntry .getSavedBackupEntry(); - enableBackupFiles - .setSelected(Cache.getDefault(BackupFiles.ENABLED, !Platform.isJS())); + enableBackupFiles.setSelected( + Cache.getDefault(BackupFiles.ENABLED, !Platform.isJS())); BackupFilesPresetEntry backupfilesCustomEntry = BackupFilesPresetEntry .createBackupFilesPresetEntry(Cache @@ -2193,7 +2248,6 @@ public class GPreferences extends JPanel } }); - // enable checkbox 1 col gbc.gridwidth = 1; gbc.gridheight = 1; @@ -2266,8 +2320,8 @@ public class GPreferences extends JPanel presetsComboLabel = new JLabel(title + ":"); presetsPanel.add(presetsComboLabel, gbc); - List entries = Arrays - .asList((Object[]) BackupFilesPresetEntry.backupfilesPresetEntries); + List entries = Arrays.asList( + (Object[]) BackupFilesPresetEntry.backupfilesPresetEntries); List tooltips = Arrays.asList( BackupFilesPresetEntry.backupfilesPresetEntryDescriptions); backupfilesPresetsCombo = JvSwingUtils.buildComboWithTooltips(entries, @@ -2294,7 +2348,8 @@ public class GPreferences extends JPanel { if (customiseCheckbox.isSelected()) { - // got here by clicking on customiseCheckbox so don't change the values + // got here by clicking on customiseCheckbox so don't change the + // values backupfilesCustomOptionsSetEnabled(); } else @@ -2373,13 +2428,11 @@ public class GPreferences extends JPanel private JPanel initBackupsTabFilenameExamplesPanel() { - String title = MessageManager - .getString("label.scheme_examples"); + String title = MessageManager.getString("label.scheme_examples"); TitledBorder tb = new TitledBorder(title); exampleFilesPanel.setBorder(tb); exampleFilesPanel.setLayout(new GridBagLayout()); - backupfilesExampleLabel.setEditable(false); backupfilesExampleLabel .setBackground(exampleFilesPanel.getBackground()); @@ -2440,8 +2493,7 @@ public class GPreferences extends JPanel } protected void setComboIntStringKey( - JComboBox backupfilesPresetsCombo2, - int key) + JComboBox backupfilesPresetsCombo2, int key) { for (int i = 0; i < backupfilesPresetsCombo2.getItemCount(); i++) { @@ -2711,9 +2763,8 @@ public class GPreferences extends JPanel JPanel jp = new JPanel(); jp.setLayout(new FlowLayout()); - oldBackupFilesLabel - .setText(MessageManager - .getString("label.autodelete_old_backup_files")); + oldBackupFilesLabel.setText( + MessageManager.getString("label.autodelete_old_backup_files")); oldBackupFilesLabel.setFont(LABEL_FONT); oldBackupFilesLabel.setHorizontalAlignment(SwingConstants.LEFT); jp.add(oldBackupFilesLabel); @@ -2873,7 +2924,8 @@ public class GPreferences extends JPanel } - // add some extra empty lines to pad out the example files box. ugh, please tell + // add some extra empty lines to pad out the example files box. ugh, please + // tell // me how to do this better int remainingLines = lowersurround + uppersurround + 1 - lineNumber; if (remainingLines > 0) @@ -2952,8 +3004,7 @@ public class GPreferences extends JPanel private void backupfilesKeepAllSetEnabled(boolean tryEnabled) { boolean enabled = tryEnabled && enableBackupFiles.isSelected() - && customiseCheckbox.isSelected() - && suffixTemplate.getText() + && customiseCheckbox.isSelected() && suffixTemplate.getText() .indexOf(BackupFiles.NUM_PLACEHOLDER) > -1; keepfilesPanel.setEnabled(enabled); backupfilesKeepAll.setEnabled(enabled); @@ -3195,13 +3246,15 @@ public class GPreferences extends JPanel public void proxyType_actionPerformed() { setCustomProxyEnabled(); - proxyAuthPasswordHighlight(true); + proxyAuthPasswordCheckHighlight(true); + applyProxyButtonEnabled(true); } public void proxyAuth_actionPerformed() { setProxyAuthEnabled(); - proxyAuthPasswordHighlight(true); + proxyAuthPasswordCheckHighlight(true); + applyProxyButtonEnabled(true); } /** @@ -3276,4 +3329,3 @@ public class GPreferences extends JPanel } } -