JAL-3103 Put jalview.jar first in getdown for .properties files. Remove now-not-neede...
[jalview.git] / src / jalview / jbgui / GPreferences.java
index f7d9860..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;
@@ -268,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();
 
@@ -744,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
@@ -761,6 +765,7 @@ public class GPreferences extends JPanel
         }
       }
     });
+    */
 
     JPanel proxyPanel = initConnTabProxyPanel();
     initConnTabCheckboxes();
@@ -771,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,
@@ -1817,8 +1830,8 @@ public class GPreferences extends JPanel
   }
 
   /**
-   * Show a dialog for the user to choose a file. Returns the chosen path, or null
-   * on Cancel.
+   * Show a dialog for the user to choose a file. Returns the chosen path, or
+   * null on Cancel.
    * 
    * @return
    */
@@ -2793,7 +2806,7 @@ public class GPreferences extends JPanel
     }
     else
     {
-      Cache.error(
+      Console.error(
               "Preset '" + value + "' [key:" + key + "] not implemented");
     }
 
@@ -2813,7 +2826,7 @@ public class GPreferences extends JPanel
               .getSelectedItem();
     } catch (Exception ex)
     {
-      Cache.error(
+      Console.error(
               "Problem casting Combo entry to IntKeyStringValueEntry.");
       e = null;
     }
@@ -2831,7 +2844,7 @@ public class GPreferences extends JPanel
         e = (IntKeyStringValueEntry) backupfilesPresetsCombo2.getItemAt(i);
       } catch (Exception ex)
       {
-        Cache.error(
+        Console.error(
                 "Problem casting Combo entry to IntKeyStringValueEntry. Skipping item. ");
         continue;
       }
@@ -3279,7 +3292,7 @@ public class GPreferences extends JPanel
         i = ((Integer) s.getValue()).intValue();
       } catch (Exception e)
       {
-        Cache.error(
+        Console.error(
                 "Exception casting the initial value of s.getValue()");
       }
     }
@@ -3315,7 +3328,7 @@ public class GPreferences extends JPanel
       i = (Integer) s.getValue();
     } catch (Exception e)
     {
-      Cache.error("Failed casting (Integer) JSpinner s.getValue()");
+      Console.error("Failed casting (Integer) JSpinner s.getValue()");
     }
     return i;
   }
@@ -3486,7 +3499,7 @@ public class GPreferences extends JPanel
    * DOCUMENT ME!
    * 
    * @param e
-   *            DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void ok_actionPerformed(ActionEvent e)
   {
@@ -3496,7 +3509,7 @@ public class GPreferences extends JPanel
    * DOCUMENT ME!
    * 
    * @param e
-   *            DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void cancel_actionPerformed(ActionEvent e)
   {
@@ -3506,7 +3519,7 @@ public class GPreferences extends JPanel
    * DOCUMENT ME!
    * 
    * @param e
-   *            DOCUMENT ME!
+   *          DOCUMENT ME!
    */
   public void annotations_actionPerformed(ActionEvent e)
   {