X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fjbgui%2FGPreferences.java;h=9348affd5dcc121782fa404e4c08c4f5a01791cd;hb=077b528a2b2c3314f687f7ced476ff0817067bf8;hp=f8fbe06055816fc7c4b75fd41128181438bc7ec8;hpb=b8683aaaf600239e94d658bdf99012f5e684d9a8;p=jalview.git diff --git a/src/jalview/jbgui/GPreferences.java b/src/jalview/jbgui/GPreferences.java index f8fbe06..9348aff 100755 --- a/src/jalview/jbgui/GPreferences.java +++ b/src/jalview/jbgui/GPreferences.java @@ -20,21 +20,6 @@ */ package jalview.jbgui; -import jalview.bin.Cache; -import jalview.fts.core.FTSDataColumnPreferences; -import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource; -import jalview.fts.service.pdb.PDBFTSRestClient; -import jalview.gui.Desktop; -import jalview.gui.JalviewBooleanRadioButtons; -import jalview.gui.JvOptionPane; -import jalview.gui.JvSwingUtils; -import jalview.gui.StructureViewer.ViewerType; -import jalview.io.BackupFilenameParts; -import jalview.io.BackupFiles; -import jalview.io.BackupFilesPresetEntry; -import jalview.io.IntKeyStringValueEntry; -import jalview.util.MessageManager; - import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; @@ -86,6 +71,21 @@ import javax.swing.event.ChangeListener; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; +import jalview.bin.Cache; +import jalview.fts.core.FTSDataColumnPreferences; +import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource; +import jalview.fts.service.pdb.PDBFTSRestClient; +import jalview.gui.Desktop; +import jalview.gui.JalviewBooleanRadioButtons; +import jalview.gui.JvOptionPane; +import jalview.gui.JvSwingUtils; +import jalview.gui.StructureViewer.ViewerType; +import jalview.io.BackupFilenameParts; +import jalview.io.BackupFiles; +import jalview.io.BackupFilesPresetEntry; +import jalview.io.IntKeyStringValueEntry; +import jalview.util.MessageManager; + /** * Base class for the Preferences panel. * @@ -226,17 +226,35 @@ public class GPreferences extends JPanel protected JButton userOnly = new JButton(); + protected JLabel httpLabel = new JLabel(); + + protected JLabel httpsLabel = new JLabel(); + protected JLabel portLabel = new JLabel(); protected JLabel serverLabel = new JLabel(); - protected JTextField proxyServerTB = new JTextField(); + protected JLabel portLabel2 = new JLabel(); + + protected JLabel serverLabel2 = new JLabel(); + + protected JTextField proxyServerHttpTB = new JTextField(); - protected JTextField proxyPortTB = new JTextField(); + protected JTextField proxyPortHttpTB = new JTextField(); + + protected JTextField proxyServerHttpsTB = new JTextField(); + + protected JTextField proxyPortHttpsTB = new JTextField(); protected JTextField defaultBrowser = new JTextField(); - protected JCheckBox useProxy = new JCheckBox(); + protected ButtonGroup proxyType = new ButtonGroup(); + + protected JRadioButton noProxy = new JRadioButton(); + + protected JRadioButton systemProxy = new JRadioButton(); + + protected JRadioButton customProxy = new JRadioButton(); protected JCheckBox usagestats = new JCheckBox(); @@ -629,6 +647,8 @@ public class GPreferences extends JPanel GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 2, 5, 5), 70, 1)); + versioncheck.setVisible(false); + // Add padding so the panel doesn't look ridiculous JPanel spacePanel = new JPanel(); connectTab.add(spacePanel, @@ -838,39 +858,145 @@ public class GPreferences extends JPanel private JPanel initConnTabProxyPanel() { // Label for server text box - serverLabel.setText(MessageManager.getString("label.address")); + serverLabel.setText(MessageManager.getString("label.host") + ": "); serverLabel.setHorizontalAlignment(SwingConstants.RIGHT); serverLabel.setFont(LABEL_FONT); + serverLabel2.setText(MessageManager.getString("label.host") + ": "); + serverLabel2.setHorizontalAlignment(SwingConstants.RIGHT); + serverLabel2.setFont(LABEL_FONT); // Proxy server and port text boxes - proxyServerTB.setFont(LABEL_FONT); - proxyPortTB.setFont(LABEL_FONT); + proxyServerHttpTB.setFont(LABEL_FONT); + proxyServerHttpTB.setColumns(40); + proxyPortHttpTB.setFont(LABEL_FONT); + proxyPortHttpTB.setColumns(4); + proxyServerHttpsTB.setFont(LABEL_FONT); + proxyServerHttpsTB.setColumns(40); + proxyPortHttpsTB.setFont(LABEL_FONT); + proxyPortHttpsTB.setColumns(4); // Label for Port text box portLabel.setFont(LABEL_FONT); portLabel.setHorizontalAlignment(SwingConstants.RIGHT); - portLabel.setText(MessageManager.getString("label.port")); - - // Use proxy server checkbox - useProxy.setFont(LABEL_FONT); - useProxy.setHorizontalAlignment(SwingConstants.RIGHT); - useProxy.setHorizontalTextPosition(SwingConstants.LEADING); - useProxy.setText(MessageManager.getString("label.use_proxy_server")); - useProxy.addActionListener(new ActionListener() + portLabel.setText(MessageManager.getString("label.port") + ": "); + portLabel2.setFont(LABEL_FONT); + portLabel2.setHorizontalAlignment(SwingConstants.RIGHT); + portLabel2.setText(MessageManager.getString("label.port") + ": "); + + httpLabel.setText("HTTP"); + httpLabel.setFont(LABEL_FONT_BOLD); + httpLabel.setHorizontalAlignment(SwingConstants.LEFT); + httpsLabel.setText("HTTPS"); + httpsLabel.setFont(LABEL_FONT_BOLD); + httpsLabel.setHorizontalAlignment(SwingConstants.LEFT); + + // Proxy type radio buttons + noProxy.setFont(LABEL_FONT); + noProxy.setHorizontalAlignment(SwingConstants.LEFT); + // noProxy.setHorizontalTextPosition(SwingConstants.LEADING); + noProxy.setText(MessageManager.getString("label.no_proxy")); + systemProxy.setFont(LABEL_FONT); + systemProxy.setHorizontalAlignment(SwingConstants.LEFT); + // systemProxy.setHorizontalTextPosition(SwingConstants.LEADING); + systemProxy.setText(MessageManager.formatMessage("label.system_proxy", + displayHostPort(Cache.startupProxyProperties[0], + Cache.startupProxyProperties[1]), + displayHostPort(Cache.startupProxyProperties[2], + Cache.startupProxyProperties[3]))); + customProxy.setFont(LABEL_FONT); + customProxy.setHorizontalAlignment(SwingConstants.LEFT); + // customProxy.setHorizontalTextPosition(SwingConstants.LEADING); + customProxy.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - useProxy_actionPerformed(); + customProxy_actionPerformed(); } }); + customProxy.setText( + MessageManager.getString("label.use_proxy_server") + ":"); + proxyType.add(noProxy); + proxyType.add(systemProxy); + proxyType.add(customProxy); // Make proxy server panel JPanel proxyPanel = new JPanel(); TitledBorder titledBorder1 = new TitledBorder( - MessageManager.getString("label.proxy_server")); + MessageManager.getString("label.proxy_servers")); proxyPanel.setBorder(titledBorder1); + GridBagConstraints gbc = new GridBagConstraints(); proxyPanel.setLayout(new GridBagLayout()); + + gbc.gridx = 0; + gbc.gridy = 0; + gbc.weightx = 1.0; + gbc.gridheight = 1; + gbc.anchor = GridBagConstraints.WEST; + gbc.fill = GridBagConstraints.BOTH; + + gbc.gridwidth = 5; + proxyPanel.add(noProxy, gbc); + + gbc.gridy++; + proxyPanel.add(systemProxy, gbc); + + gbc.gridy++; + proxyPanel.add(customProxy, gbc); + + gbc.gridwidth = 1; + gbc.gridy++; + gbc.gridx = 0; + gbc.weightx = 0.1; + proxyPanel.add(httpLabel, gbc); + + gbc.gridx++; + gbc.anchor = GridBagConstraints.EAST; + gbc.weightx = 0.15; + proxyPanel.add(serverLabel, gbc); + + gbc.gridx++; + gbc.anchor = GridBagConstraints.WEST; + gbc.weightx = 0.5; + proxyPanel.add(proxyServerHttpTB, gbc); + + gbc.gridx++; + gbc.anchor = GridBagConstraints.EAST; + gbc.weightx = 0.15; + proxyPanel.add(portLabel, gbc); + + gbc.gridx++; + gbc.anchor = GridBagConstraints.WEST; + gbc.weightx = 0.1; + proxyPanel.add(proxyPortHttpTB, gbc); + + gbc.gridy++; + gbc.gridx = 0; + gbc.anchor = GridBagConstraints.WEST; + gbc.weightx = 0.1; + proxyPanel.add(httpsLabel, gbc); + + gbc.gridx++; + gbc.anchor = GridBagConstraints.EAST; + gbc.weightx = 0.15; + proxyPanel.add(serverLabel2, gbc); + + gbc.gridx++; + gbc.anchor = GridBagConstraints.WEST; + gbc.weightx = 0.5; + proxyPanel.add(proxyServerHttpsTB, gbc); + + gbc.gridx++; + gbc.anchor = GridBagConstraints.EAST; + gbc.weightx = 0.15; + proxyPanel.add(portLabel2, gbc); + + gbc.gridx++; + gbc.anchor = GridBagConstraints.WEST; + gbc.weightx = 0.1; + proxyPanel.add(proxyPortHttpsTB, gbc); + + /* proxyPanel.add(serverLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, @@ -891,10 +1017,30 @@ public class GPreferences extends JPanel new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 2, 2, 0), 263, 1)); + */ return proxyPanel; } + private String displayHostPort(String host, String port) + { + boolean hostBlank = (host == null || host.isEmpty()); + boolean portBlank = (port == null || port.isEmpty()); + if (hostBlank && portBlank) + { + return MessageManager.getString("label.none"); + } + + StringBuilder sb = new StringBuilder(); + sb.append(hostBlank ? "" : host); + if (!portBlank) + { + sb.append(":"); + sb.append(port); + } + return sb.toString(); + } + /** * Initialises the checkboxes in the Connections tab */ @@ -1782,7 +1928,6 @@ public class GPreferences extends JPanel } }); - // enable checkbox 1 col gbc.gridwidth = 1; gbc.gridheight = 1; @@ -1855,8 +2000,8 @@ public class GPreferences extends JPanel presetsComboLabel = new JLabel(title + ":"); presetsPanel.add(presetsComboLabel, gbc); - List entries = Arrays - .asList(BackupFilesPresetEntry.backupfilesPresetEntries); + List entries = Arrays.asList( + (Object[]) BackupFilesPresetEntry.backupfilesPresetEntries); List tooltips = Arrays.asList( BackupFilesPresetEntry.backupfilesPresetEntryDescriptions); backupfilesPresetsCombo = JvSwingUtils.buildComboWithTooltips(entries, @@ -1883,7 +2028,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 @@ -1962,13 +2108,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()); @@ -2029,8 +2173,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++) { @@ -2300,9 +2443,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); @@ -2462,7 +2604,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) @@ -2485,7 +2628,7 @@ public class GPreferences extends JPanel { try { - i = Integer.parseInt((String) s.getValue()); + i = ((Integer) s.getValue()).intValue(); } catch (Exception e) { Cache.log.error( @@ -2504,6 +2647,10 @@ public class GPreferences extends JPanel { max = def; } + if (def < min) + { + def = min; + } SpinnerModel sModel = new SpinnerNumberModel(def, min, max, 1); s.setModel(sModel); @@ -2537,8 +2684,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); @@ -2750,13 +2896,17 @@ public class GPreferences extends JPanel } - public void useProxy_actionPerformed() + public void customProxy_actionPerformed() { - boolean enabled = useProxy.isSelected(); + boolean enabled = customProxy.isSelected(); portLabel.setEnabled(enabled); serverLabel.setEnabled(enabled); - proxyServerTB.setEnabled(enabled); - proxyPortTB.setEnabled(enabled); + httpLabel.setEnabled(enabled); + httpsLabel.setEnabled(enabled); + proxyServerHttpTB.setEnabled(enabled); + proxyPortHttpTB.setEnabled(enabled); + proxyServerHttpsTB.setEnabled(enabled); + proxyPortHttpsTB.setEnabled(enabled); } /** @@ -2831,4 +2981,3 @@ public class GPreferences extends JPanel } } -