diff --git a/diylc/diylc-core/src/main/resources/update.xml b/diylc/diylc-core/src/main/resources/update.xml index 9e795875..8c697d6c 100644 --- a/diylc/diylc-core/src/main/resources/update.xml +++ b/diylc/diylc-core/src/main/resources/update.xml @@ -281,6 +281,10 @@ BUG_FIX Rotating selected components sometimes wacks the alignment off the grid + + BUG_FIX + Ctrl+X (Command+X) doesn't work because 'Project Explorer' steals the focus on X key press + https://github.com/bancika/diy-layout-creator/releases diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/CopyAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/CopyAction.java index 4ade138c..43c7c7a3 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/CopyAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/CopyAction.java @@ -28,7 +28,7 @@ public class CopyAction extends AbstractAction { this.clipboardOwner = clipboardOwner; putValue(AbstractAction.NAME, "Copy"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_C, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.Copy.getIcon()); } diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/CutAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/CutAction.java index 714c6eda..048caabe 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/CutAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/CutAction.java @@ -28,7 +28,7 @@ public class CutAction extends AbstractAction { this.clipboardOwner = clipboardOwner; putValue(AbstractAction.NAME, "Cut"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_X, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.Cut.getIcon()); } @@ -40,4 +40,4 @@ public class CutAction extends AbstractAction { clipboardOwner); plugInPort.deleteSelectedComponents(); } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/DuplicateAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/DuplicateAction.java index f2c59d2e..df8fcd78 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/DuplicateAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/DuplicateAction.java @@ -21,7 +21,7 @@ public class DuplicateAction extends AbstractAction { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Duplicate"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_D, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentsGear.getIcon()); } @@ -34,4 +34,4 @@ public class DuplicateAction extends AbstractAction { ActionFactory.LOG.error("Coule not duplicate.", ex); } } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/EditSelectionAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/EditSelectionAction.java index 26a1dd26..667a78e6 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/EditSelectionAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/EditSelectionAction.java @@ -23,7 +23,7 @@ public class EditSelectionAction extends AbstractAction { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Edit Selection"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.EditComponent.getIcon()); } diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/GroupAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/GroupAction.java index 69c556cf..14508884 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/GroupAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/GroupAction.java @@ -21,7 +21,7 @@ public class GroupAction extends AbstractAction { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Group Selection"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_G, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.Group.getIcon()); } @@ -30,4 +30,4 @@ public class GroupAction extends AbstractAction { ActionFactory.LOG.info("Group Selection triggered"); plugInPort.groupSelectedComponents(); } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/NudgeAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/NudgeAction.java index d1a9d92a..b052d964 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/NudgeAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/NudgeAction.java @@ -32,7 +32,7 @@ public class NudgeAction extends AbstractAction { putValue(AbstractAction.NAME, "Nudge"); putValue(AbstractAction.SMALL_ICON, IconLoader.FitToSize.getIcon()); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_Q, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); } @Override @@ -56,4 +56,4 @@ public class NudgeAction extends AbstractAction { plugInPort.nudgeSelection(n.getxOffset(), n.getyOffset(), n.getAffectStuckComponents()); } } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/PasteAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/PasteAction.java index 15366fab..24187a85 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/PasteAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/PasteAction.java @@ -27,7 +27,7 @@ public class PasteAction extends AbstractAction { this.clipboard = clipboard; putValue(AbstractAction.NAME, "Paste"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_V, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.Paste.getIcon()); } @@ -43,4 +43,4 @@ public class PasteAction extends AbstractAction { ActionFactory.LOG.error("Coule not paste.", ex); } } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/SelectAllAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/SelectAllAction.java index c5397742..8df6a8f1 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/SelectAllAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/SelectAllAction.java @@ -21,7 +21,7 @@ public class SelectAllAction extends AbstractAction { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Select All"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_A, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.Selection.getIcon()); } @@ -30,4 +30,4 @@ public class SelectAllAction extends AbstractAction { ActionFactory.LOG.info("Select All triggered"); plugInPort.selectAll(0); } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/UngroupAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/UngroupAction.java index 4d1f34b7..88bc3af9 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/UngroupAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/edit/UngroupAction.java @@ -21,7 +21,7 @@ public class UngroupAction extends AbstractAction { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "Ungroup Selection"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.Ungroup.getIcon()); } diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/ImportAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/ImportAction.java index 1133157e..f2f07987 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/ImportAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/ImportAction.java @@ -66,7 +66,7 @@ public class ImportAction extends AbstractAction { }, InMemoryConfigurationManager.getInstance()); putValue(AbstractAction.NAME, "Import"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_I, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.ElementInto.getIcon()); } @@ -107,4 +107,4 @@ public class ImportAction extends AbstractAction { }, true); } } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/NewAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/NewAction.java index a254e1bf..60b2dde2 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/NewAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/NewAction.java @@ -28,7 +28,7 @@ public class NewAction extends AbstractAction { this.plugInPort = plugInPort; putValue(AbstractAction.NAME, "New"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.DocumentPlain.getIcon()); } @@ -54,4 +54,4 @@ public class NewAction extends AbstractAction { } } } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/OpenAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/OpenAction.java index 650d7e2c..ab257edc 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/OpenAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/OpenAction.java @@ -28,7 +28,7 @@ public class OpenAction extends AbstractAction { this.swingUI = swingUI; putValue(AbstractAction.NAME, "Open"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_O, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.FolderOut.getIcon()); } diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/SaveAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/SaveAction.java index 56a55153..fea6a5c2 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/SaveAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/SaveAction.java @@ -28,7 +28,7 @@ public class SaveAction extends AbstractAction { this.swingUI = swingUI; putValue(AbstractAction.NAME, "Save"); putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); putValue(AbstractAction.SMALL_ICON, IconLoader.DiskBlue.getIcon()); } @@ -79,4 +79,4 @@ public class SaveAction extends AbstractAction { }, true); } } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/SaveAsAction.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/SaveAsAction.java index 4509101f..bda4a0b8 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/SaveAsAction.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/actions/file/SaveAsAction.java @@ -29,7 +29,7 @@ public class SaveAsAction extends AbstractAction { this.swingUI = swingUI; putValue(AbstractAction.NAME, "Save As"); 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()); } @@ -63,4 +63,4 @@ public class SaveAsAction extends AbstractAction { }, true); } } -} \ No newline at end of file +} diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/explorer/ExplorerPlugin.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/explorer/ExplorerPlugin.java index e50f8bc0..b12ff860 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/explorer/ExplorerPlugin.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/explorer/ExplorerPlugin.java @@ -90,8 +90,7 @@ public class ExplorerPlugin implements IPlugIn { @Override public boolean dispatchKeyEvent(KeyEvent e) { - if ((canvasPanel.hasFocus() || explorerPane.hasFocus()) - && e.getKeyChar() == 'x' + if (e.getKeyChar() == 'x' && e.getModifiersEx() == 0 && ConfigurationManager.getInstance() .readBoolean(ConfigPlugin.PROJECT_EXPLORER, true)) { explorerPane.getSearchField().requestFocusInWindow(); diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/file/FileMenuPlugin.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/file/FileMenuPlugin.java index afc13691..9c2047c2 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/file/FileMenuPlugin.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/file/FileMenuPlugin.java @@ -86,7 +86,7 @@ public class FileMenuPlugin implements IPlugIn, IDynamicSubmenuHandler { swingUI.injectMenuAction( actionFactory.createExportGerberAction(plugInPort, swingUI), EXPORT_TITLE); 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.injectMenuAction(actionFactory.createExportPDFAction(plugInPort, traceMaskDrawingProvider, swingUI, " (mask)"), TRACE_MASK_TITLE); @@ -94,7 +94,7 @@ public class FileMenuPlugin implements IPlugIn, IDynamicSubmenuHandler { traceMaskDrawingProvider, swingUI, " (mask)"), TRACE_MASK_TITLE); swingUI.injectMenuAction( actionFactory.createPrintAction(traceMaskDrawingProvider, swingUI, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | KeyEvent.SHIFT_DOWN_MASK), + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx() | KeyEvent.SHIFT_DOWN_MASK), TRACE_MASK_TITLE); swingUI.injectSubmenu(ANALYZE_TITLE, IconLoader.Scientist.getIcon(), FILE_TITLE); diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/layers/LayersMenuPlugin.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/layers/LayersMenuPlugin.java index a4079c5c..9f315e9e 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/layers/LayersMenuPlugin.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/layers/LayersMenuPlugin.java @@ -79,7 +79,7 @@ public class LayersMenuPlugin implements IPlugIn { }; visibleAction.putValue(IView.CHECK_BOX_MENU_ITEM, true); visibleAction.putValue(AbstractAction.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_0 + zOrder, - Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); + Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx())); visibleActionMap.put(layer, visibleAction); AbstractAction selectAllAction = new AbstractAction("Select All") { diff --git a/diylc/pom.xml b/diylc/pom.xml index 0a778581..8eb98ec3 100644 --- a/diylc/pom.xml +++ b/diylc/pom.xml @@ -19,7 +19,7 @@ - ISO-8859-1 + UTF-8 17 17 1.2.15