JAL-3103 Put jalview.jar first in getdown for .properties files. Remove now-not-neede...
[jalview.git] / src / jalview / jbgui / GPreferences.java
index dce8c5e..61b2f24 100755 (executable)
@@ -45,6 +45,8 @@ import javax.swing.AbstractCellEditor;
 import javax.swing.BorderFactory;
 import javax.swing.BoxLayout;
 import javax.swing.ButtonGroup;
+import javax.swing.ComboBoxModel;
+import javax.swing.DefaultComboBoxModel;
 import javax.swing.DefaultListCellRenderer;
 import javax.swing.JButton;
 import javax.swing.JCheckBox;
@@ -77,6 +79,7 @@ import javax.swing.table.TableCellEditor;
 import javax.swing.table.TableCellRenderer;
 
 import jalview.bin.Cache;
+import jalview.bin.Console;
 import jalview.bin.MemorySetting;
 import jalview.fts.core.FTSDataColumnPreferences;
 import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource;
@@ -90,6 +93,7 @@ import jalview.io.BackupFilenameParts;
 import jalview.io.BackupFiles;
 import jalview.io.BackupFilesPresetEntry;
 import jalview.io.IntKeyStringValueEntry;
+import jalview.util.BrowserLauncher;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
 import jalview.util.StringUtils;
@@ -179,8 +183,6 @@ public class GPreferences extends JPanel
 
   protected JCheckBox structFromPdb = new JCheckBox();
 
-  protected JCheckBox useRnaView = new JCheckBox();
-
   protected JCheckBox addSecondaryStructure = new JCheckBox();
 
   protected JCheckBox addTempFactor = new JCheckBox();
@@ -270,7 +272,7 @@ public class GPreferences extends JPanel
 
   protected JPasswordField proxyAuthPasswordPB = new JPasswordField();
 
-  protected JTextField defaultBrowser = new JTextField();
+  protected JComboBox defaultBrowser = new JComboBox<String>();
 
   protected ButtonGroup proxyType = new ButtonGroup();
 
@@ -541,9 +543,12 @@ public class GPreferences extends JPanel
     }
   }
 
-  public final static int CONNECTIONS_TAB = 5;
+  public static enum TabRef
+  {
+    CONNECTIONS_TAB, STRUCTURE_TAB
+  };
 
-  public void selectTab(int selectTab)
+  public void selectTab(TabRef selectTab)
   {
     // select a given tab - currently only for Connections
     switch (selectTab)
@@ -551,6 +556,9 @@ public class GPreferences extends JPanel
     case CONNECTIONS_TAB:
       tabbedPane.setSelectedComponent(connectTab);
       break;
+    case STRUCTURE_TAB:
+      tabbedPane.setSelectedComponent(structureTab);
+      break;
     default:
     }
   }
@@ -740,12 +748,12 @@ public class GPreferences extends JPanel
     browserLabel.setFont(LABEL_FONT);
     browserLabel.setHorizontalAlignment(SwingConstants.TRAILING);
     browserLabel.setText(
-            MessageManager.getString("label.default_browser_unix"));
+            MessageManager.getString("label.default_browser_unix_windows"));
     defaultBrowser.setFont(LABEL_FONT);
-    defaultBrowser.setText("");
     final String tooltip = JvSwingUtils.wrapTooltip(true,
             MessageManager.getString("label.double_click_to_browse"));
     defaultBrowser.setToolTipText(tooltip);
+    /*
     defaultBrowser.addMouseListener(new MouseAdapter()
     {
       @Override
@@ -757,6 +765,7 @@ public class GPreferences extends JPanel
         }
       }
     });
+    */
 
     JPanel proxyPanel = initConnTabProxyPanel();
     initConnTabCheckboxes();
@@ -767,7 +776,15 @@ public class GPreferences extends JPanel
                     GridBagConstraints.WEST, GridBagConstraints.NONE,
                     new Insets(10, 0, 5, 5), 5, 1));
     defaultBrowser.setFont(LABEL_FONT);
-    defaultBrowser.setText("");
+
+    ComboBoxModel<String> cbModel = new DefaultComboBoxModel(
+            BrowserLauncher.getInstance().getBrowserList().toArray());
+    String browserPref = Cache.getProperty("DEFAULT_BROWSER");
+    if (browserPref != null)
+    {
+      cbModel.setSelectedItem(browserPref);
+    }
+    defaultBrowser.setModel(cbModel);
 
     connectTab.add(defaultBrowser, new GridBagConstraints(1, 0, 1, 1, 1.0,
             0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL,
@@ -1677,7 +1694,6 @@ public class GPreferences extends JPanel
       {
         boolean selected = structFromPdb.isSelected();
         // enable other options only when the first is checked
-        useRnaView.setEnabled(selected);
         addSecondaryStructure.setEnabled(selected);
         addTempFactor.setEnabled(selected);
       }
@@ -1686,12 +1702,6 @@ public class GPreferences extends JPanel
 
     // indent checkboxes that are conditional on the first one
     ypos += lineSpacing;
-    useRnaView.setFont(LABEL_FONT);
-    useRnaView.setText(MessageManager.getString("label.use_rnaview"));
-    useRnaView.setBounds(new Rectangle(25, ypos, width, height));
-    structureTab.add(useRnaView);
-
-    ypos += lineSpacing;
     addSecondaryStructure.setFont(LABEL_FONT);
     addSecondaryStructure
             .setText(MessageManager.getString("label.autoadd_secstr"));
@@ -2539,6 +2549,7 @@ public class GPreferences extends JPanel
     jvmMemoryPercentDisplay.setEnabled(enabled);
     jvmMemoryMaxLabel.setEnabled(enabled);
     jvmMemoryMaxTextField.setEnabled(enabled);
+    exampleMemoryMessageTextArea.setEnabled(enabled);
     setExampleMemoryLabel();
   }
 
@@ -2795,7 +2806,7 @@ public class GPreferences extends JPanel
     }
     else
     {
-      Cache.log.error(
+      Console.error(
               "Preset '" + value + "' [key:" + key + "] not implemented");
     }
 
@@ -2815,7 +2826,7 @@ public class GPreferences extends JPanel
               .getSelectedItem();
     } catch (Exception ex)
     {
-      Cache.log.error(
+      Console.error(
               "Problem casting Combo entry to IntKeyStringValueEntry.");
       e = null;
     }
@@ -2833,7 +2844,7 @@ public class GPreferences extends JPanel
         e = (IntKeyStringValueEntry) backupfilesPresetsCombo2.getItemAt(i);
       } catch (Exception ex)
       {
-        Cache.log.error(
+        Console.error(
                 "Problem casting Combo entry to IntKeyStringValueEntry. Skipping item. ");
         continue;
       }
@@ -3281,7 +3292,7 @@ public class GPreferences extends JPanel
         i = ((Integer) s.getValue()).intValue();
       } catch (Exception e)
       {
-        Cache.log.error(
+        Console.error(
                 "Exception casting the initial value of s.getValue()");
       }
     }
@@ -3317,7 +3328,7 @@ public class GPreferences extends JPanel
       i = (Integer) s.getValue();
     } catch (Exception e)
     {
-      Cache.log.error("Failed casting (Integer) JSpinner s.getValue()");
+      Console.error("Failed casting (Integer) JSpinner s.getValue()");
     }
     return i;
   }