X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFinder.java;h=f641f4b71d3968626a5b13baa30c4d650f6c6ea5;hb=4468c1e39c57fbb67192207b4c8750dab1b1dedd;hp=ee70565579e2c436adefe9300671a861e17bfe8f;hpb=071a00a0f8ce9892254630595696c1c9d7c39ec7;p=jalview.git diff --git a/src/jalview/gui/Finder.java b/src/jalview/gui/Finder.java index ee70565..f641f4b 100755 --- a/src/jalview/gui/Finder.java +++ b/src/jalview/gui/Finder.java @@ -75,7 +75,7 @@ public class Finder extends GFinder private AlignmentPanel ap; - private JInternalFrame frame; + private JalviewInternalFrame frame; /* * Finder agent per viewport searched @@ -107,8 +107,8 @@ public class Finder extends GFinder ap = alignPanel; focusFixed = fixedFocus; finders = new HashMap<>(); - frame = new JInternalFrame(); - frame.setFrameIcon(WindowIcons.logoIcon); + frame = new JalviewInternalFrame(); + 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();