diff --git a/ij/ImageJ.java b/ij/ImageJ.java index 7bd5819b..96b15fa4 100644 --- a/ij/ImageJ.java +++ b/ij/ImageJ.java @@ -78,8 +78,8 @@ public class ImageJ extends Frame implements ActionListener, MouseListener, KeyListener, WindowListener, ItemListener, Runnable { /** Plugins should call IJ.getVersion() or IJ.getFullVersion() to get the version string. */ - public static final String VERSION = "1.54k"; - public static final String BUILD = ""; + public static final String VERSION = "1.54m"; + public static final String BUILD = "1"; public static Color backgroundColor = new Color(237,237,237); /** SansSerif, 12-point, plain font. */ public static final Font SansSerif12 = new Font("SansSerif", Font.PLAIN, 12); diff --git a/ij/plugin/CommandFinder.java b/ij/plugin/CommandFinder.java index a128cb32..40261349 100644 --- a/ij/plugin/CommandFinder.java +++ b/ij/plugin/CommandFinder.java @@ -100,18 +100,22 @@ protected String[] makeRow(String command, CommandAction ca) { } protected void populateList(String matchingSubstring) { - String substring = matchingSubstring.toLowerCase(); + String[] words = matchingSubstring.toLowerCase().split("\\s+"); // Split the search string into words ArrayList list = new ArrayList(); - int count = 0; - for (int i = 0; i < commands.length; ++i) { + for (int i = 0; i= 0 || menuPath.indexOf(substring) >= 0) { + String menuPath = (ca.menuLocation != null) ? ca.menuLocation.toLowerCase() : ""; + // Check if all words match either the command or the menu path + boolean allWordsMatch = true; + for (String word : words) { + if (!(command.contains(word) || menuPath.contains(word))) { + allWordsMatch = false; + break; + } + } + if (allWordsMatch) { String[] row = makeRow(commandName, ca); list.add(row); } @@ -160,6 +164,8 @@ public void mouseClicked(MouseEvent e) { int row = table.getSelectedRow(); int col = table.getSelectedColumn(); // Display cell contents in status bar + if (tableModel==null) + return; String value = tableModel.getValueAt(row, col).toString(); IJ.showStatus(value); // Is this fast enough to be a double-click? diff --git a/ij/plugin/Duplicator.java b/ij/plugin/Duplicator.java index 48b7683c..62bb03a1 100644 --- a/ij/plugin/Duplicator.java +++ b/ij/plugin/Duplicator.java @@ -61,6 +61,8 @@ public void run(String arg) { ignoreSelection = (staticIgnoreSelection||ignoreNextSelection) && Macro.getOptions()==null; if (!IJ.altKeyDown()||stackSize>1) { if (imp.isHyperStack() || imp.isComposite()) { + if (roiOutside) + imp.deleteRoi(); duplicateHyperstack(imp, newTitle); if (isRotatedRect) straightenRotatedRect(impA, roiA, IJ.getImage()); diff --git a/release-notes.html b/release-notes.html index 7a66ff06..c27ebeaf 100644 --- a/release-notes.html +++ b/release-notes.html @@ -5,6 +5,18 @@ + +
  • 1.54m1 24 September 2024 + +
  • 1.54k 15 September 2024
  • 1.54j 12 June 2024