From c1387a015a49a1a0bcfd4dc0d0853ba056ee84d8 Mon Sep 17 00:00:00 2001 From: uneasyalliance <88040162+uneasyalliance@users.noreply.github.com> Date: Wed, 21 May 2025 16:33:33 -0400 Subject: [PATCH 1/2] Merge pull request #927 from uneasyalliance/X_Q_hotkey_fixes fix for 'x' hotkey preventing 'x' input in dialogs --- .../org/diylc/swing/plugins/explorer/ExplorerPlugin.java | 4 +++- .../java/org/diylc/swing/plugins/tree/ComponentTree.java | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) 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 b12ff860..395a7485 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,7 +90,9 @@ public class ExplorerPlugin implements IPlugIn { @Override public boolean dispatchKeyEvent(KeyEvent e) { - if (e.getKeyChar() == 'x' && e.getModifiersEx() == 0 + if (explorerPane != null + && (canvasPanel.hasFocus() || explorerPane.hasFocus()) + && 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/tree/ComponentTree.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/tree/ComponentTree.java index af6363d6..7b1224d2 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/tree/ComponentTree.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/tree/ComponentTree.java @@ -80,12 +80,13 @@ public class ComponentTree implements IPlugIn { @Override public boolean dispatchKeyEvent(KeyEvent e) { - if ((canvasPanel.hasFocus() || treePanel.hasFocus()) - && e.getKeyChar() == 'q' + if (treePanel != null + && (canvasPanel.hasFocus() || treePanel.hasFocus()) + && e.getKeyChar() == 'q' && e.getModifiersEx() == 0 && ConfigurationManager.getInstance() .readString(ConfigPlugin.COMPONENT_BROWSER, ConfigPlugin.SEARCHABLE_TREE) .equals(ConfigPlugin.SEARCHABLE_TREE)) { - getTreePanel().getSearchField().requestFocusInWindow(); + treePanel.getSearchField().requestFocusInWindow(); return true; } return false; From 05c22078bc3b98d874e3388c6e71002ffa6d6266 Mon Sep 17 00:00:00 2001 From: Bane Stojkovic Date: Wed, 21 May 2025 22:34:52 +0200 Subject: [PATCH 2/2] Update update.xml --- diylc/diylc-core/src/main/resources/update.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/diylc/diylc-core/src/main/resources/update.xml b/diylc/diylc-core/src/main/resources/update.xml index a909cab6..e75b6af6 100644 --- a/diylc/diylc-core/src/main/resources/update.xml +++ b/diylc/diylc-core/src/main/resources/update.xml @@ -305,6 +305,10 @@ IMPROVEMENT Improved the styling of circuit analysis reports + + BUG_FIX + X or Q keys sometimes do not register in secondary dialogs + BUG_FIX If the internet connection is present, but unstable, the application starts but nothing can be clicked until the connection restores