From 305d97ec307abe7e1f5fa272d6c32fbad04f9243 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 25 Jan 2012 20:16:42 +0100 Subject: [PATCH] nice popup adjuster not in ctrl+n only --- .../src/com/intellij/openapi/actionSystem/LangDataKeys.java | 4 ++-- .../com/intellij/ide/util/gotoByName/ChooseByNameBase.java | 4 ++-- .../src/com/intellij/ui/popup/PopupPositionManager.java | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/platform/lang-api/src/com/intellij/openapi/actionSystem/LangDataKeys.java b/platform/lang-api/src/com/intellij/openapi/actionSystem/LangDataKeys.java index 00bda1aa5922..df9badfb808e 100644 --- a/platform/lang-api/src/com/intellij/openapi/actionSystem/LangDataKeys.java +++ b/platform/lang-api/src/com/intellij/openapi/actionSystem/LangDataKeys.java @@ -56,6 +56,6 @@ public class LangDataKeys extends PlatformDataKeys { public static final DataKey CONSOLE_VIEW = DataKey.create("consoleView"); - public static final DataKey CHOOSE_BY_NAME_DROPDOWN = DataKey.create("chooseByNameDropDown"); - public static final DataKey CHOOSE_BY_NAME_POPUP = DataKey.create("chooseByNamePopup"); + public static final DataKey POSITION_ADJUSTER_POPUP = DataKey.create("chooseByNameDropDown"); + public static final DataKey PARENT_POPUP = DataKey.create("chooseByNamePopup"); } diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java index 2df92b34568b..2b459981aa6c 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java @@ -1159,11 +1159,11 @@ public abstract class ChooseByNameBase { @Override public void calcData(final DataKey key, final DataSink sink) { - if (LangDataKeys.CHOOSE_BY_NAME_DROPDOWN.equals(key)) { + if (LangDataKeys.POSITION_ADJUSTER_POPUP.equals(key)) { if (myDropdownPopup != null && myDropdownPopup.isVisible()) { sink.put(key, myDropdownPopup); } - } else if (LangDataKeys.CHOOSE_BY_NAME_POPUP.equals(key)) { + } else if (LangDataKeys.PARENT_POPUP.equals(key)) { if (myTextPopup != null && myTextPopup.isVisible()) { sink.put(key, myTextPopup); } diff --git a/platform/lang-impl/src/com/intellij/ui/popup/PopupPositionManager.java b/platform/lang-impl/src/com/intellij/ui/popup/PopupPositionManager.java index af5d35d334fc..d70e6202d8b9 100644 --- a/platform/lang-impl/src/com/intellij/ui/popup/PopupPositionManager.java +++ b/platform/lang-impl/src/com/intellij/ui/popup/PopupPositionManager.java @@ -88,9 +88,9 @@ public class PopupPositionManager { return new PositionAdjuster(SwingUtilities.getWindowAncestor(focusOwner)); } - final Component existing = discoverPopup(LangDataKeys.CHOOSE_BY_NAME_DROPDOWN, focusOwner); + final Component existing = discoverPopup(LangDataKeys.POSITION_ADJUSTER_POPUP, focusOwner); if (existing != null) { - return new PositionAdjuster2(existing, discoverPopup(LangDataKeys.CHOOSE_BY_NAME_POPUP, focusOwner)); + return new PositionAdjuster2(existing, discoverPopup(LangDataKeys.PARENT_POPUP, focusOwner)); } //final Window window = SwingUtilities.getWindowAncestor(focusOwner); @@ -104,7 +104,7 @@ public class PopupPositionManager { private PositionAdjuster2(final Component relativeTo, final Component topComponent) { super(relativeTo); - myTopComponent = topComponent; + myTopComponent = topComponent == null ? relativeTo : topComponent; } @Override