Merge branch 'features/JAL-2885UniprotHttps' into releases/Release_2_10_4_Branch
[jalview.git] / src / jalview / fts / core / GFTSPanel.java
index 0c5ab11..86710e1 100644 (file)
@@ -33,7 +33,6 @@ import jalview.util.MessageManager;
 
 import java.awt.BorderLayout;
 import java.awt.CardLayout;
-import java.awt.Color;
 import java.awt.Dimension;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -90,10 +89,10 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
   protected JInternalFrame mainFrame = new JInternalFrame(
           getFTSFrameTitle());
 
-  protected JTabbedPane mainFramTabs = new JTabbedPane();
+  protected JTabbedPane tabs = new JTabbedPane();
   protected IProgressIndicator progressIndicator;
 
-  protected JComboBox<FTSDataColumnI> cmb_searchTarget = new JComboBox<FTSDataColumnI>();
+  protected JComboBox<FTSDataColumnI> cmb_searchTarget = new JComboBox<>();
 
   protected JButton btn_ok = new JButton();
 
@@ -152,7 +151,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
 
   protected int pageLimit;
 
-  protected HashSet<String> paginatorCart = new HashSet<String>();
+  protected HashSet<String> paginatorCart = new HashSet<>();
 
   private static final int MIN_WIDTH = 670;
 
@@ -253,13 +252,15 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
     {
       if (fetcher == null)
       {
-        mainFramTabs = null;
+        tabs = null;
       }
       jbInit();
       if (fetcher != null)
       {
-        mainFramTabs.addTab("Retrieve IDs", fetcher);
+        tabs.addTab(MessageManager.getString("label.retrieve_ids"),
+                fetcher);
         fetcher.setDatabaseChooserVisible(false);
+        fetcher.embedWithFTSPanel(this);
       }
       mainFrame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT));
       final JPanel ftsPanel = this;
@@ -269,8 +270,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
         public void focusGained(FocusEvent e)
         {
           // TODO: make selected tab gain focus in correct widget
-          if (mainFramTabs != null
-                  && mainFramTabs.getSelectedComponent() == ftsPanel)
+          if (tabs != null
+                  && tabs.getSelectedComponent() == ftsPanel)
           {
             txt_search.requestFocusInWindow();
           }
@@ -292,7 +293,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
   private void jbInit() throws Exception
   {
 
-    txt_search = new JvCacheableInputBox<String>(getCacheKey());
+    txt_search = new JvCacheableInputBox<>(getCacheKey());
     populateCmbSearchTargetOptions();
     Integer width = getTempUserPrefs().get("FTSPanel.width") == null ? 800
             : getTempUserPrefs().get("FTSPanel.width");
@@ -356,9 +357,20 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
       }
     });
 
-    btn_autosearch.setText("");
+    btn_autosearch.setText(MessageManager.getString("option.autosearch"));
     btn_autosearch.setToolTipText(
             MessageManager.getString("option.enable_disable_autosearch"));
+    btn_autosearch.setSelected(
+            jalview.bin.Cache.getDefault(getAutosearchPreference(), true));
+    btn_autosearch.addActionListener(new java.awt.event.ActionListener()
+    {
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        jalview.bin.Cache.setProperty(getAutosearchPreference(),
+                Boolean.toString(btn_autosearch.isSelected()));
+      }
+    });
     btn_back.setFont(new java.awt.Font("Verdana", 0, 12));
     btn_back.setText(MessageManager.getString("action.back"));
     btn_back.addActionListener(new java.awt.event.ActionListener()
@@ -666,13 +678,13 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
     this.add(pnl_results, java.awt.BorderLayout.CENTER);
     this.add(pnl_actions, java.awt.BorderLayout.SOUTH);
     mainFrame.setVisible(true);
-    if (mainFramTabs != null)
+    if (tabs != null)
     {
-      mainFramTabs.setOpaque(true);
-      mainFramTabs.setBackground(Color.white);
-      mainFramTabs.insertTab("Free Text Search", null, this, "", 0);
-      mainFrame.setContentPane(mainFramTabs);
-      mainFramTabs.setVisible(true);
+      tabs.setOpaque(true);
+      tabs.insertTab(MessageManager.getString("label.free_text_search"),
+              null, this, "", 0);
+      mainFrame.setContentPane(tabs);
+      tabs.setVisible(true);
     }
     else
     {
@@ -837,7 +849,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
     }
   }
 
-  protected void btn_back_ActionPerformed()
+  public void btn_back_ActionPerformed()
   {
     closeAction();
     new SequenceFetcher(progressIndicator);
@@ -850,7 +862,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
     btn_cancel.setEnabled(false);
   }
 
-  protected void btn_cancel_ActionPerformed()
+  public void btn_cancel_ActionPerformed()
   {
     closeAction();
   }
@@ -860,7 +872,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI
    */
   public void populateCmbSearchTargetOptions()
   {
-    List<FTSDataColumnI> searchableTargets = new ArrayList<FTSDataColumnI>();
+    List<FTSDataColumnI> searchableTargets = new ArrayList<>();
     try
     {
       Collection<FTSDataColumnI> foundFTSTargets = getFTSRestClient()