JAL-3521 'Debian-safe' version of minimal build.gradle and patch. Using existing...
[jalview.git] / src / jalview / jbgui / GPreferences.java
index 38a4732..e6efed6 100755 (executable)
@@ -510,9 +510,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)
@@ -520,6 +523,9 @@ public class GPreferences extends JPanel
     case CONNECTIONS_TAB:
       tabbedPane.setSelectedComponent(connectTab);
       break;
+    case STRUCTURE_TAB:
+      tabbedPane.setSelectedComponent(structureTab);
+      break;
     default:
     }
   }
@@ -1205,45 +1211,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()
@@ -1778,8 +1795,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
    */
@@ -1788,6 +1805,14 @@ public class GPreferences extends JPanel
     String choice = null;
     JFileChooser chooser = new JFileChooser();
 
+    // Enable appBundleIsTraversable in macOS FileChooser to allow selecting
+    // hidden executables within .app dirs
+    if (Platform.isMac())
+    {
+      chooser.putClientProperty("JFileChooser.appBundleIsTraversable",
+              true);
+    }
+
     // chooser.setFileView(new JalviewFileView());
     chooser.setDialogTitle(
             MessageManager.getString("label.open_local_file"));
@@ -3147,7 +3172,7 @@ public class GPreferences extends JPanel
    * DOCUMENT ME!
    * 
    * @param e
-   *          DOCUMENT ME!
+   *            DOCUMENT ME!
    */
   public void ok_actionPerformed(ActionEvent e)
   {
@@ -3157,7 +3182,7 @@ public class GPreferences extends JPanel
    * DOCUMENT ME!
    * 
    * @param e
-   *          DOCUMENT ME!
+   *            DOCUMENT ME!
    */
   public void cancel_actionPerformed(ActionEvent e)
   {
@@ -3167,7 +3192,7 @@ public class GPreferences extends JPanel
    * DOCUMENT ME!
    * 
    * @param e
-   *          DOCUMENT ME!
+   *            DOCUMENT ME!
    */
   public void annotations_actionPerformed(ActionEvent e)
   {