diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index 566cabf1c3f..129ae030ccf 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -1369,8 +1369,6 @@ private JMenu buildEditMenu() { menu.addSeparator(); - // TODO "cut" and "copy" should really only be enabled - // if some text is currently selected JMenuItem cutItem = newJMenuItem(tr("Cut"), 'X'); cutItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -1515,6 +1513,21 @@ public void actionPerformed(ActionEvent e) { menu.add(useSelectionForFindItem); } + menu.addMenuListener(new MenuListener() { + @Override + public void menuSelected(MenuEvent e) { + boolean enabled = textarea.getSelectedText() != null; + cutItem.setEnabled(enabled); + copyItem.setEnabled(enabled); + } + + @Override + public void menuDeselected(MenuEvent e) {} + + @Override + public void menuCanceled(MenuEvent e) {} + }); + return menu; }