mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 17:22:09 +10:00
Ctrl+X (Command+X) doesn't work because 'Project Explorer' steals the focus on X key press
This commit is contained in:
@@ -281,6 +281,10 @@
|
|||||||
<changeType>BUG_FIX</changeType>
|
<changeType>BUG_FIX</changeType>
|
||||||
<description>Rotating selected components sometimes wacks the alignment off the grid</description>
|
<description>Rotating selected components sometimes wacks the alignment off the grid</description>
|
||||||
</org.diylc.appframework.update.Change>
|
</org.diylc.appframework.update.Change>
|
||||||
|
<org.diylc.appframework.update.Change>
|
||||||
|
<changeType>BUG_FIX</changeType>
|
||||||
|
<description>Ctrl+X (Command+X) doesn't work because 'Project Explorer' steals the focus on X key press</description>
|
||||||
|
</org.diylc.appframework.update.Change>
|
||||||
</changes>
|
</changes>
|
||||||
<url>https://github.com/bancika/diy-layout-creator/releases</url>
|
<url>https://github.com/bancika/diy-layout-creator/releases</url>
|
||||||
</org.diylc.appframework.update.Version>
|
</org.diylc.appframework.update.Version>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class CopyAction extends AbstractAction {
|
|||||||
this.clipboardOwner = clipboardOwner;
|
this.clipboardOwner = clipboardOwner;
|
||||||
putValue(AbstractAction.NAME, "Copy");
|
putValue(AbstractAction.NAME, "Copy");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.Copy.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.Copy.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class CutAction extends AbstractAction {
|
|||||||
this.clipboardOwner = clipboardOwner;
|
this.clipboardOwner = clipboardOwner;
|
||||||
putValue(AbstractAction.NAME, "Cut");
|
putValue(AbstractAction.NAME, "Cut");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.Cut.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.Cut.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,4 +40,4 @@ public class CutAction extends AbstractAction {
|
|||||||
clipboardOwner);
|
clipboardOwner);
|
||||||
plugInPort.deleteSelectedComponents();
|
plugInPort.deleteSelectedComponents();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class DuplicateAction extends AbstractAction {
|
|||||||
this.plugInPort = plugInPort;
|
this.plugInPort = plugInPort;
|
||||||
putValue(AbstractAction.NAME, "Duplicate");
|
putValue(AbstractAction.NAME, "Duplicate");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_D,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_D,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentsGear.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentsGear.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,4 +34,4 @@ public class DuplicateAction extends AbstractAction {
|
|||||||
ActionFactory.LOG.error("Coule not duplicate.", ex);
|
ActionFactory.LOG.error("Coule not duplicate.", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@ public class EditSelectionAction extends AbstractAction {
|
|||||||
this.plugInPort = plugInPort;
|
this.plugInPort = plugInPort;
|
||||||
putValue(AbstractAction.NAME, "Edit Selection");
|
putValue(AbstractAction.NAME, "Edit Selection");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.EditComponent.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.EditComponent.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class GroupAction extends AbstractAction {
|
|||||||
this.plugInPort = plugInPort;
|
this.plugInPort = plugInPort;
|
||||||
putValue(AbstractAction.NAME, "Group Selection");
|
putValue(AbstractAction.NAME, "Group Selection");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_G,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_G,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.Group.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.Group.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,4 +30,4 @@ public class GroupAction extends AbstractAction {
|
|||||||
ActionFactory.LOG.info("Group Selection triggered");
|
ActionFactory.LOG.info("Group Selection triggered");
|
||||||
plugInPort.groupSelectedComponents();
|
plugInPort.groupSelectedComponents();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class NudgeAction extends AbstractAction {
|
|||||||
putValue(AbstractAction.NAME, "Nudge");
|
putValue(AbstractAction.NAME, "Nudge");
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.FitToSize.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.FitToSize.getIcon());
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -56,4 +56,4 @@ public class NudgeAction extends AbstractAction {
|
|||||||
plugInPort.nudgeSelection(n.getxOffset(), n.getyOffset(), n.getAffectStuckComponents());
|
plugInPort.nudgeSelection(n.getxOffset(), n.getyOffset(), n.getAffectStuckComponents());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ public class PasteAction extends AbstractAction {
|
|||||||
this.clipboard = clipboard;
|
this.clipboard = clipboard;
|
||||||
putValue(AbstractAction.NAME, "Paste");
|
putValue(AbstractAction.NAME, "Paste");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.Paste.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.Paste.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,4 +43,4 @@ public class PasteAction extends AbstractAction {
|
|||||||
ActionFactory.LOG.error("Coule not paste.", ex);
|
ActionFactory.LOG.error("Coule not paste.", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class SelectAllAction extends AbstractAction {
|
|||||||
this.plugInPort = plugInPort;
|
this.plugInPort = plugInPort;
|
||||||
putValue(AbstractAction.NAME, "Select All");
|
putValue(AbstractAction.NAME, "Select All");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.Selection.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.Selection.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,4 +30,4 @@ public class SelectAllAction extends AbstractAction {
|
|||||||
ActionFactory.LOG.info("Select All triggered");
|
ActionFactory.LOG.info("Select All triggered");
|
||||||
plugInPort.selectAll(0);
|
plugInPort.selectAll(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class UngroupAction extends AbstractAction {
|
|||||||
this.plugInPort = plugInPort;
|
this.plugInPort = plugInPort;
|
||||||
putValue(AbstractAction.NAME, "Ungroup Selection");
|
putValue(AbstractAction.NAME, "Ungroup Selection");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.Ungroup.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.Ungroup.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public class ImportAction extends AbstractAction {
|
|||||||
}, InMemoryConfigurationManager.getInstance());
|
}, InMemoryConfigurationManager.getInstance());
|
||||||
putValue(AbstractAction.NAME, "Import");
|
putValue(AbstractAction.NAME, "Import");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_I,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_I,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.ElementInto.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.ElementInto.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,4 +107,4 @@ public class ImportAction extends AbstractAction {
|
|||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class NewAction extends AbstractAction {
|
|||||||
this.plugInPort = plugInPort;
|
this.plugInPort = plugInPort;
|
||||||
putValue(AbstractAction.NAME, "New");
|
putValue(AbstractAction.NAME, "New");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentPlain.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentPlain.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,4 +54,4 @@ public class NewAction extends AbstractAction {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class OpenAction extends AbstractAction {
|
|||||||
this.swingUI = swingUI;
|
this.swingUI = swingUI;
|
||||||
putValue(AbstractAction.NAME, "Open");
|
putValue(AbstractAction.NAME, "Open");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_O,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_O,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.FolderOut.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.FolderOut.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class SaveAction extends AbstractAction {
|
|||||||
this.swingUI = swingUI;
|
this.swingUI = swingUI;
|
||||||
putValue(AbstractAction.NAME, "Save");
|
putValue(AbstractAction.NAME, "Save");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,4 +79,4 @@ public class SaveAction extends AbstractAction {
|
|||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public class SaveAsAction extends AbstractAction {
|
|||||||
this.swingUI = swingUI;
|
this.swingUI = swingUI;
|
||||||
putValue(AbstractAction.NAME, "Save As");
|
putValue(AbstractAction.NAME, "Save As");
|
||||||
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S,
|
putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | ActionEvent.SHIFT_MASK));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx() | ActionEvent.SHIFT_MASK));
|
||||||
putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon());
|
putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,4 +63,4 @@ public class SaveAsAction extends AbstractAction {
|
|||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -90,8 +90,7 @@ public class ExplorerPlugin implements IPlugIn {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean dispatchKeyEvent(KeyEvent e) {
|
public boolean dispatchKeyEvent(KeyEvent e) {
|
||||||
if ((canvasPanel.hasFocus() || explorerPane.hasFocus())
|
if (e.getKeyChar() == 'x' && e.getModifiersEx() == 0
|
||||||
&& e.getKeyChar() == 'x'
|
|
||||||
&& ConfigurationManager.getInstance()
|
&& ConfigurationManager.getInstance()
|
||||||
.readBoolean(ConfigPlugin.PROJECT_EXPLORER, true)) {
|
.readBoolean(ConfigPlugin.PROJECT_EXPLORER, true)) {
|
||||||
explorerPane.getSearchField().requestFocusInWindow();
|
explorerPane.getSearchField().requestFocusInWindow();
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public class FileMenuPlugin implements IPlugIn, IDynamicSubmenuHandler {
|
|||||||
swingUI.injectMenuAction(
|
swingUI.injectMenuAction(
|
||||||
actionFactory.createExportGerberAction(plugInPort, swingUI), EXPORT_TITLE);
|
actionFactory.createExportGerberAction(plugInPort, swingUI), EXPORT_TITLE);
|
||||||
swingUI.injectMenuAction(actionFactory.createPrintAction(drawingProvider, swingUI,
|
swingUI.injectMenuAction(actionFactory.createPrintAction(drawingProvider, swingUI,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()), FILE_TITLE);
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()), FILE_TITLE);
|
||||||
swingUI.injectSubmenu(TRACE_MASK_TITLE, IconLoader.TraceMask.getIcon(), FILE_TITLE);
|
swingUI.injectSubmenu(TRACE_MASK_TITLE, IconLoader.TraceMask.getIcon(), FILE_TITLE);
|
||||||
swingUI.injectMenuAction(actionFactory.createExportPDFAction(plugInPort,
|
swingUI.injectMenuAction(actionFactory.createExportPDFAction(plugInPort,
|
||||||
traceMaskDrawingProvider, swingUI, " (mask)"), TRACE_MASK_TITLE);
|
traceMaskDrawingProvider, swingUI, " (mask)"), TRACE_MASK_TITLE);
|
||||||
@@ -94,7 +94,7 @@ public class FileMenuPlugin implements IPlugIn, IDynamicSubmenuHandler {
|
|||||||
traceMaskDrawingProvider, swingUI, " (mask)"), TRACE_MASK_TITLE);
|
traceMaskDrawingProvider, swingUI, " (mask)"), TRACE_MASK_TITLE);
|
||||||
swingUI.injectMenuAction(
|
swingUI.injectMenuAction(
|
||||||
actionFactory.createPrintAction(traceMaskDrawingProvider, swingUI,
|
actionFactory.createPrintAction(traceMaskDrawingProvider, swingUI,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | KeyEvent.SHIFT_DOWN_MASK),
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx() | KeyEvent.SHIFT_DOWN_MASK),
|
||||||
TRACE_MASK_TITLE);
|
TRACE_MASK_TITLE);
|
||||||
|
|
||||||
swingUI.injectSubmenu(ANALYZE_TITLE, IconLoader.Scientist.getIcon(), FILE_TITLE);
|
swingUI.injectSubmenu(ANALYZE_TITLE, IconLoader.Scientist.getIcon(), FILE_TITLE);
|
||||||
|
|||||||
+1
-1
@@ -79,7 +79,7 @@ public class LayersMenuPlugin implements IPlugIn {
|
|||||||
};
|
};
|
||||||
visibleAction.putValue(IView.CHECK_BOX_MENU_ITEM, true);
|
visibleAction.putValue(IView.CHECK_BOX_MENU_ITEM, true);
|
||||||
visibleAction.putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_0 + zOrder,
|
visibleAction.putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_0 + zOrder,
|
||||||
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
|
Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
||||||
visibleActionMap.put(layer, visibleAction);
|
visibleActionMap.put(layer, visibleAction);
|
||||||
|
|
||||||
AbstractAction selectAllAction = new AbstractAction("Select All") {
|
AbstractAction selectAllAction = new AbstractAction("Select All") {
|
||||||
|
|||||||
+1
-1
@@ -19,7 +19,7 @@
|
|||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<maven.compiler.source>17</maven.compiler.source>
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
<maven.compiler.target>17</maven.compiler.target>
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
<log4j.version>1.2.15</log4j.version>
|
<log4j.version>1.2.15</log4j.version>
|
||||||
|
|||||||
Reference in New Issue
Block a user