Merge branch 'develop' into features/JAL-2446NCList
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 2 Jun 2017 15:35:33 +0000 (16:35 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Fri, 2 Jun 2017 15:35:33 +0000 (16:35 +0100)
1  2 
resources/lang/Messages.properties
src/jalview/gui/Finder.java

@@@ -914,6 -914,7 +914,6 @@@ label.as_percentage = As Percentag
  error.not_implemented = Not implemented
  error.no_such_method_as_clone1_for = No such method as clone1 for {0}
  error.null_from_clone1 = Null from clone1!
 -error.implementation_error_sortbyfeature = Implementation Error - sortByFeature method must be one of FEATURE_SCORE, FEATURE_LABEL or FEATURE_DENSITY.
  error.not_yet_implemented = Not yet implemented
  error.unknown_type_dna_or_pep = Unknown Type {0} - dna or pep are the only allowed values.
  error.implementation_error_dont_know_threshold_annotationcolourgradient = Implementation error: don't know about threshold setting for current AnnotationColourGradient.
@@@ -1300,6 -1301,8 +1300,8 @@@ warn.name_cannot_be_duplicate = User-de
  label.invalid_name = Invalid Name !
  label.output_seq_details = Output Sequence Details to list all database references
  label.urllinks = Links
+ label.default_cache_size = Default Cache Size
+ action.clear_cached_items = Clear Cached Items
  label.togglehidden = Show hidden regions
  label.quality_descr = Alignment Quality based on Blosum62 scores
  label.conservation_descr = Conservation of total alignment less than {0}% gaps
@@@ -42,6 -42,7 +42,7 @@@ import javax.swing.JComponent
  import javax.swing.JInternalFrame;
  import javax.swing.JLayeredPane;
  import javax.swing.KeyStroke;
+ import javax.swing.event.InternalFrameEvent;
  
  /**
   * Performs the menu option for searching the alignment, for the next or all
@@@ -100,11 -101,19 +101,19 @@@ public class Finder extends GFinde
      frame = new JInternalFrame();
      frame.setContentPane(this);
      frame.setLayer(JLayeredPane.PALETTE_LAYER);
+     frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
+     {
+       @Override
+       public void internalFrameClosing(InternalFrameEvent e)
+       {
+         closeAction();
+       }
+     });
      addEscapeHandler();
      Desktop.addInternalFrame(frame, MessageManager.getString("label.find"),
              MY_WIDTH, MY_HEIGHT);
      frame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT));
-     textfield.requestFocus();
+     searchBox.requestFocus();
    }
  
    /**
        @Override
        public void actionPerformed(ActionEvent e)
        {
-         escapeActionPerformed();
+         closeAction();
        }
      });
    }
  
-   /**
-    * Close the panel on Escape key press
-    */
-   protected void escapeActionPerformed()
-   {
-     setVisible(false);
-     frame.dispose();
-   }
  
    /**
     * Performs the 'Find Next' action.
      List<SequenceI> seqs = new ArrayList<SequenceI>();
      List<SequenceFeature> features = new ArrayList<SequenceFeature>();
  
-     String searchString = textfield.getText().trim();
+     String searchString = searchBox.getEditor().getItem().toString().trim();
      String desc = "Search Results";
  
      /*
      for (SearchResultMatchI match : searchResults.getResults())
      {
        seqs.add(match.getSequence().getDatasetSequence());
 -      features.add(new SequenceFeature(searchString, desc, null, match
 +      features.add(new SequenceFeature(searchString, desc,
 +              match
                .getStart(), match.getEnd(), desc));
      }
  
    {
      createFeatures.setEnabled(false);
  
-     String searchString = textfield.getText().trim();
+     String searchString = searchBox.getUserInput().trim();
  
      if (isInvalidSearchString(searchString))
      {
          seqIndex = 0;
        }
      }
+     searchBox.updateCache();
    }
  
    /**
      }
      return error;
    }
+   protected void closeAction()
+   {
+     frame.setVisible(false);
+     frame.dispose();
+     searchBox.persistCache();
+     if (getFocusedViewport())
+     {
+       ap.alignFrame.requestFocus();
+     }
+   }
  }