X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFinder.java;h=2756b14fa60c4e59de6ba52305d097453d3da1e6;hb=2e531bf4493e93059becb2cd2238d8dfabd72ea2;hp=df56986129c5aa433a5ef3ada52bce7f2f650ee2;hpb=dc24bc768061f6e08be77d7e18709da98c6f9428;p=jalview.git diff --git a/src/jalview/gui/Finder.java b/src/jalview/gui/Finder.java index df56986..2756b14 100755 --- a/src/jalview/gui/Finder.java +++ b/src/jalview/gui/Finder.java @@ -28,6 +28,7 @@ import java.awt.event.KeyEvent; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -107,6 +108,7 @@ public class Finder extends GFinder focusFixed = fixedFocus; finders = new HashMap<>(); frame = new JInternalFrame(); + frame.setFrameIcon(null); frame.setContentPane(this); frame.setLayer(JLayeredPane.PALETTE_LAYER); frame.addInternalFrameListener(new InternalFrameAdapter() @@ -252,6 +254,17 @@ public class Finder extends GFinder new FeatureEditor(ap, seqs, features, true).showDialog(); } + @Override + protected void copyToClipboard_actionPerformed() + { + if (searchResults.isEmpty()) + { + return; // shouldn't happen + } + // assume viewport controller has same searchResults as we do... + ap.alignFrame.avc.copyHighlightedRegionsToClipboard(); + } + /** * Search the alignment for the next or all matches. If 'all matches', a * dialog is shown with the number of sequence ids and subsequences matched. @@ -261,6 +274,7 @@ public class Finder extends GFinder void doSearch(boolean doFindAll) { createFeatures.setEnabled(false); + copyToClipboard.setEnabled(false); String searchString = searchBox.getUserInput(); @@ -281,19 +295,21 @@ public class Finder extends GFinder finder = new jalview.analysis.Finder(av); finders.put(av, finder); } + finder.setFeatureRenderer(ap.getFeatureRenderer()); boolean isCaseSensitive = caseSensitive.isSelected(); boolean doSearchDescription = searchDescription.isSelected(); + boolean doSearchfeatures = searchFeatures.isSelected(); boolean skipHidden = ignoreHidden.isSelected(); if (doFindAll) { finder.findAll(searchString, isCaseSensitive, doSearchDescription, - skipHidden); + doSearchfeatures, skipHidden); } else { finder.findNext(searchString, isCaseSensitive, doSearchDescription, - skipHidden); + doSearchfeatures, skipHidden); } searchResults = finder.getSearchResults(); @@ -307,6 +323,7 @@ public class Finder extends GFinder else { createFeatures.setEnabled(true); + copyToClipboard.setEnabled(true); } searchBox.updateCache(); @@ -334,9 +351,8 @@ public class Finder extends GFinder { if (idMatch.size() > 0 && searchResults.getCount() > 0) { - message.append(" ").append( - MessageManager.getString("label.and").toLowerCase()) - .append(" "); + message.append(" ").append(MessageManager.getString("label.and") + .toLowerCase(Locale.ROOT)).append(" "); } message.append(MessageManager.formatMessage( "label.subsequence_matches_found",