From 71418caa4bef460824d792c409fa178fb5b10f66 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Mon, 15 Jan 2018 14:28:32 +0100 Subject: [PATCH] [Find/Replace][Win] grab focus when just opened Solves https://github.com/arduino/Arduino/issues/6951#issuecomment-351995084 --- .../cc/arduino/view/findreplace/FindReplace.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/cc/arduino/view/findreplace/FindReplace.java b/app/src/cc/arduino/view/findreplace/FindReplace.java index 5952298d5..433a5faec 100644 --- a/app/src/cc/arduino/view/findreplace/FindReplace.java +++ b/app/src/cc/arduino/view/findreplace/FindReplace.java @@ -62,10 +62,6 @@ public class FindReplace extends javax.swing.JFrame { isTranslucencySupported(); initComponents(); - if (OSUtils.isWindows()) { - setAutoRequestFocus(false); - } - if (OSUtils.isMacOS()) { buttonsContainer.removeAll(); buttonsContainer.add(replaceAllButton); @@ -76,6 +72,9 @@ public class FindReplace extends javax.swing.JFrame { } Base.registerWindowCloseKeys(getRootPane(), e -> { + if (OSUtils.isWindows()) { + setAutoRequestFocus(true); + } setVisible(false); Base.FIND_DIALOG_STATE = findDialogState(); }); @@ -86,6 +85,7 @@ public class FindReplace extends javax.swing.JFrame { public void windowActivated(WindowEvent e) { if (OSUtils.isWindows()) { toFront(); + setAutoRequestFocus(false); return; } findField.requestFocusInWindow(); @@ -128,6 +128,11 @@ public class FindReplace extends javax.swing.JFrame { public void setVisible(boolean b) { getRootPane().setDefaultButton(findButton); + if (OSUtils.isWindows()) { + // means we are restoring the window visibility + setAutoRequestFocus(true); + } + super.setVisible(b); }