X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFinder.java;h=2756b14fa60c4e59de6ba52305d097453d3da1e6;hb=1c82b91f2e6a692a2e43238a779c14633c1bd0f0;hp=93dcadf2c267bed757cfe3962ccb886d852c89a3;hpb=9d2408483e451285fd555c3cd6e0273977acbaa7;p=jalview.git diff --git a/src/jalview/gui/Finder.java b/src/jalview/gui/Finder.java index 93dcadf..2756b14 100755 --- a/src/jalview/gui/Finder.java +++ b/src/jalview/gui/Finder.java @@ -20,8 +20,6 @@ */ package jalview.gui; -import java.util.Locale; - import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.FocusAdapter; @@ -30,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; @@ -109,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() @@ -254,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. @@ -263,6 +274,7 @@ public class Finder extends GFinder void doSearch(boolean doFindAll) { createFeatures.setEnabled(false); + copyToClipboard.setEnabled(false); String searchString = searchBox.getUserInput(); @@ -283,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(); @@ -309,6 +323,7 @@ public class Finder extends GFinder else { createFeatures.setEnabled(true); + copyToClipboard.setEnabled(true); } searchBox.updateCache(); @@ -336,9 +351,8 @@ public class Finder extends GFinder { if (idMatch.size() > 0 && searchResults.getCount() > 0) { - message.append(" ").append( - MessageManager.getString("label.and").toLowerCase(Locale.ROOT)) - .append(" "); + message.append(" ").append(MessageManager.getString("label.and") + .toLowerCase(Locale.ROOT)).append(" "); } message.append(MessageManager.formatMessage( "label.subsequence_matches_found",