2.08, not 2.07
[jalview.git] / src / jalview / gui / Preferences.java
index 8a2650b..9ac8acf 100755 (executable)
@@ -18,8 +18,6 @@
  */\r
 package jalview.gui;\r
 \r
-import jalview.bin.*;\r
-\r
 import jalview.io.*;\r
 \r
 import jalview.jbgui.*;\r
@@ -45,7 +43,26 @@ import jalview.bin.Cache;
 public class Preferences extends GPreferences\r
 {\r
     /** Holds name and link separated with | character. Sequence ID must be $SEQUENCE_ID$ */\r
-   public static Vector sequenceURLLinks = new Vector();\r
+    public static Vector sequenceURLLinks;\r
+    static\r
+    {\r
+      String string = Cache.getDefault("SEQUENCE_LINKS",\r
+                                       "SRS|http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2");\r
+      sequenceURLLinks = new Vector();\r
+\r
+      try\r
+      {\r
+        StringTokenizer st = new StringTokenizer(string, "|");\r
+        while (st.hasMoreElements())\r
+        {\r
+          sequenceURLLinks.addElement(st.nextToken() + "|" + st.nextToken());\r
+        }\r
+      }\r
+      catch (Exception ex)\r
+      {\r
+        System.out.println(ex + "\nError parsing sequence links");\r
+      }\r
+    }\r
     Vector nameLinks, urlLinks;\r
 \r
     JInternalFrame frame;\r
@@ -59,14 +76,14 @@ public class Preferences extends GPreferences
 \r
         frame = new JInternalFrame();\r
         frame.setContentPane(this);\r
-        Desktop.addInternalFrame(frame, "Preferences", 480, 390);\r
-        frame.setMinimumSize(new Dimension(480,390));\r
+        Desktop.addInternalFrame(frame, "Preferences", 480, 395);\r
+        frame.setMinimumSize(new Dimension(480,395));\r
 \r
-        fullID.setSelected(      Cache.getDefault("SHOW_FULL_ID", true));\r
+        seqLimit.setSelected(    Cache.getDefault("SHOW_JVSUFFIX", true));\r
         fullScreen.setSelected(  Cache.getDefault("SHOW_FULLSCREEN", false));\r
-        annotations.setSelected( Cache.getDefault("SHOW_FULL_ID", true));\r
-        conservation.setEnabled( Cache.getDefault("SHOW_ANNOTATIONS", true));\r
+        annotations.setSelected( Cache.getDefault("SHOW_ANNOTATIONS", true));\r
 \r
+        conservation.setEnabled( Cache.getDefault("SHOW_ANNOTATIONS", true));\r
         quality.setEnabled(Cache.getDefault("SHOW_ANNOTATIONS", true));\r
         identity.setEnabled(Cache.getDefault("SHOW_ANNOTATIONS", true));\r
 \r
@@ -74,21 +91,14 @@ public class Preferences extends GPreferences
         quality.setSelected(Cache.getDefault("SHOW_QUALITY", true));\r
         identity.setSelected(Cache.getDefault("SHOW_IDENTITY", true));\r
 \r
-        for (int i = 0; i < 12; i++)\r
+        for (int i = 0; i < 13; i++)\r
         {\r
             colour.addItem(ColourSchemeProperty.getColourName(i));\r
         }\r
 \r
-        String string = Cache.getProperty("DEFAULT_COLOUR");\r
+        String string = Cache.getDefault("DEFAULT_COLOUR", "None");\r
 \r
-        if (string != null)\r
-        {\r
-            colour.setSelectedItem(string);\r
-        }\r
-        else\r
-        {\r
-            colour.setSelectedIndex(11);\r
-        }\r
+        colour.setSelectedItem(string);\r
 \r
         String[] fonts = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment()\r
                                                      .getAvailableFontFamilyNames();\r
@@ -111,6 +121,8 @@ public class Preferences extends GPreferences
         fontSizeCB.setSelectedItem(Cache.getDefault("FONT_SIZE", "10"));\r
         fontStyleCB.setSelectedItem(Cache.getDefault("FONT_STYLE", Font.PLAIN + "") );\r
 \r
+        smoothFont.setSelected(Cache.getDefault("ANTI_ALIAS", false));\r
+\r
         gapSymbolCB.addItem("-");\r
         gapSymbolCB.addItem(".");\r
 \r
@@ -120,23 +132,32 @@ public class Preferences extends GPreferences
         startupFileTextfield.setText(Cache.getDefault("STARTUP_FILE",\r
          "http://www.jalview.org/examples/exampleFile.jar"));\r
 \r
-  /****************************************************\r
-   * Set up Connections\r
-   */\r
+        sortby.addItem("No sort");\r
+        sortby.addItem("Id");\r
+        sortby.addItem("Pairwise Identity");\r
+        sortby.setSelectedItem( Cache.getDefault("SORT_ALIGNMENT", "No sort") );\r
 \r
-  string = Cache.getDefault("SEQUENCE_LINKS",\r
-                            "SRS|http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2");\r
-      sequenceURLLinks = new Vector();\r
+        epsRendering.addItem("Prompt each time");\r
+        epsRendering.addItem("Lineart");\r
+        epsRendering.addItem("Text");\r
+        epsRendering.setSelectedItem( Cache.getDefault("EPS_RENDERING", "Prompt each time"));\r
 \r
-        try{\r
-          StringTokenizer st = new StringTokenizer(string, "|");\r
-          while (st.hasMoreElements())\r
-          {\r
-            sequenceURLLinks.addElement(st.nextToken() + "|" + st.nextToken());\r
-          }\r
-        }catch(Exception ex)\r
-        {System.out.println(ex+"\nError parsing sequence links");}\r
+        blcjv.setSelected( Cache.getDefault("BLC_JVSUFFIX", true) );\r
+        clustaljv.setSelected( Cache.getDefault("CLUSTAL_JVSUFFIX", true) );\r
+        fastajv.setSelected( Cache.getDefault("FASTA_JVSUFFIX", true) );\r
+        msfjv.setSelected( Cache.getDefault("MSF_JVSUFFIX", true) );\r
+        pfamjv.setSelected( Cache.getDefault("PFAM_JVSUFFIX", true) );\r
+        pileupjv.setSelected( Cache.getDefault("PILEUP_JVSUFFIX", true) );\r
+        pirjv.setSelected( Cache.getDefault("PIR_JVSUFFIX", true) );\r
 \r
+        modellerOutput.setSelected( Cache.getDefault("PIR_MODELLER", false));\r
+\r
+        autoCalculateConsCheck.setSelected( Cache.getDefault("AUTO_CALC_CONSENSUS", true));\r
+        padGaps.setSelected( Cache.getDefault("PAD_GAPS", false));\r
+\r
+  /****************************************************\r
+   * Set up Connections\r
+   */\r
         nameLinks = new Vector();\r
         urlLinks = new Vector();\r
         for(int i=0; i<sequenceURLLinks.size(); i++)\r
@@ -175,7 +196,7 @@ public class Preferences extends GPreferences
     public void ok_actionPerformed(ActionEvent e)\r
     {\r
 \r
-      Cache.applicationProperties.setProperty("SHOW_FULL_ID", Boolean.toString(fullID.isSelected()));\r
+      Cache.applicationProperties.setProperty("SHOW_JVSUFFIX", Boolean.toString(seqLimit.isSelected()));\r
       Cache.applicationProperties.setProperty("SHOW_FULLSCREEN", Boolean.toString(fullScreen.isSelected()));\r
 \r
       Cache.applicationProperties.setProperty("SHOW_ANNOTATIONS", Boolean.toString(annotations.isSelected()));\r
@@ -190,10 +211,25 @@ public class Preferences extends GPreferences
       Cache.applicationProperties.setProperty("FONT_STYLE", fontStyleCB.getSelectedItem().toString());\r
       Cache.applicationProperties.setProperty("FONT_SIZE", fontSizeCB.getSelectedItem().toString());\r
 \r
+      Cache.applicationProperties.setProperty("ANTI_ALIAS", Boolean.toString(smoothFont.isSelected()));\r
+\r
       Cache.applicationProperties.setProperty("STARTUP_FILE", startupFileTextfield.getText());\r
       Cache.applicationProperties.setProperty("SHOW_STARTUP_FILE",  Boolean.toString(startupCheckbox.isSelected()));\r
 \r
-      Cache.applicationProperties.setProperty("DEFAULT_BROWSER", defaultBrowser.getText());\r
+      Cache.applicationProperties.setProperty("SORT_ALIGNMENT", sortby.getSelectedItem().toString() );\r
+\r
+      if(epsRendering.getSelectedItem().equals("Prompt each time"))\r
+        Cache.applicationProperties.remove("EPS_RENDERING");\r
+      else\r
+        Cache.applicationProperties.setProperty("EPS_RENDERING", epsRendering.getSelectedItem().toString());\r
+\r
+      if(defaultBrowser.getText().trim().length()<1)\r
+        Cache.applicationProperties.remove("DEFAULT_BROWSER");\r
+      else\r
+        Cache.applicationProperties.setProperty("DEFAULT_BROWSER",\r
+                                                defaultBrowser.getText());\r
+\r
+        jalview.util.BrowserLauncher.resetBrowser();\r
 \r
         if(nameLinks.size()>0)\r
         {\r
@@ -209,19 +245,49 @@ public class Preferences extends GPreferences
           links.setLength( links.length()-1 );\r
           Cache.applicationProperties.setProperty("SEQUENCE_LINKS", links.toString());\r
         }\r
+        else\r
+          Cache.applicationProperties.remove("SEQUENCE_LINKS");\r
+\r
 \r
         Cache.applicationProperties.setProperty("USE_PROXY", Boolean.toString(useProxy.isSelected()));\r
-        Cache.applicationProperties.setProperty("PROXY_SERVER",proxyServerTB.getText());\r
-        Cache.applicationProperties.setProperty("PROXY_PORT", proxyPortTB.getText());\r
+\r
+        if (proxyServerTB.getText().trim().length() < 1)\r
+          Cache.applicationProperties.remove("PROXY_SERVER");\r
+        else\r
+          Cache.applicationProperties.setProperty("PROXY_SERVER",\r
+                                                  proxyServerTB.getText());\r
+\r
+        if (proxyPortTB.getText().trim().length() < 1)\r
+          Cache.applicationProperties.remove("PROXY_PORT");\r
+        else\r
+          Cache.applicationProperties.setProperty("PROXY_PORT", proxyPortTB.getText());\r
 \r
         if(useProxy.isSelected())\r
         {\r
           System.setProperty("http.proxyHost", proxyServerTB.getText());\r
           System.setProperty("http.proxyPort", proxyPortTB.getText());\r
         }\r
+        else\r
+        {\r
+          System.setProperty("http.proxyHost","");\r
+          System.setProperty("http.proxyPort","");\r
+        }\r
 \r
 \r
-\r
+        Cache.applicationProperties.setProperty("BLC_JVSUFFIX", Boolean.toString(blcjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("CLUSTAL_JVSUFFIX", Boolean.toString(clustaljv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("FASTA_JVSUFFIX", Boolean.toString(fastajv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("MSF_JVSUFFIX", Boolean.toString(msfjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("PFAM_JVSUFFIX", Boolean.toString(pfamjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("PILEUP_JVSUFFIX", Boolean.toString(pileupjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("PIR_JVSUFFIX", Boolean.toString(pirjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("PIR_MODELLER", Boolean.toString(modellerOutput.isSelected()) );\r
+        jalview.io.PIRFile.useModellerOutput = modellerOutput.isSelected();\r
+\r
+        Cache.applicationProperties.setProperty("AUTO_CALC_CONSENSUS",\r
+                                                Boolean.toString(autoCalculateConsCheck.isSelected()));\r
+        Cache.applicationProperties.setProperty("PAD_GAPS",\r
+                                                Boolean.toString(padGaps.isSelected()));\r
         Cache.saveProperties();\r
         try\r
         {\r