From d3cce01dd9fd65a20bb2b2b68a4a03277fe8da88 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Wed, 27 Aug 2014 15:56:27 +0400 Subject: [PATCH] speed search: allow to select items with shift modifiers --- .../src/com/intellij/ui/SpeedSearchBase.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java b/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java index cbcde2d36418..76985ad77362 100644 --- a/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java +++ b/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java @@ -298,6 +298,7 @@ public abstract class SpeedSearchBase extends SpeedSear protected void processKeyEvent(KeyEvent e) { if (e.isAltDown()) return; + if (e.isShiftDown() && isNavigationKey(e.getKeyCode())) return; if (mySearchPopup != null) { mySearchPopup.processKeyEvent(e); return; @@ -499,6 +500,15 @@ public abstract class SpeedSearchBase extends SpeedSear return keyCode == KeyEvent.VK_HOME || keyCode == KeyEvent.VK_END || keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_DOWN; } + private static boolean isPgUpPgDown(int keyCode) { + return keyCode == KeyEvent.VK_PAGE_UP || keyCode == KeyEvent.VK_PAGE_DOWN; + } + + private static boolean isNavigationKey(int keyCode) { + return isPgUpPgDown(keyCode) || isUpDownHomeEnd(keyCode); + } + + private void manageSearchPopup(@Nullable SearchPopup searchPopup) { Project project = null; if (ApplicationManager.getApplication() != null && !ApplicationManager.getApplication().isDisposed()) {