diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java index 62fc1832f3f0..876c3c6dfb14 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java @@ -150,7 +150,7 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement return; } - if (!myLookup.isShown()) { + if (!myLookup.isAvailableToUser()) { scheduleAdvertising(); } @@ -263,7 +263,7 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement myLookup.setAdvertisementText(s); ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { - if (isAutopopupCompletion() && !myLookup.isShown()) { + if (isAutopopupCompletion() && !myLookup.isAvailableToUser()) { return; } if (!CompletionServiceImpl.isPhase(CompletionPhase.BgCalculation.class, CompletionPhase.ItemsCalculated.class)) { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupActionHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupActionHandler.java index 855b82864608..366d49120810 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupActionHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupActionHandler.java @@ -50,7 +50,7 @@ public abstract class LookupActionHandler extends EditorActionHandler { public void execute(Editor editor, DataContext dataContext){ LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(editor); - if (lookup == null || !lookup.isShown() || myRequireFocusedLookup && !lookup.isFocused()) { + if (lookup == null || !lookup.isAvailableToUser() || myRequireFocusedLookup && !lookup.isFocused()) { Project project = editor.getProject(); if (project != null) { LookupManager.getInstance(project).hideActiveLookup(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java index 591de6083392..a81472cd039a 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java @@ -884,6 +884,13 @@ public class LookupImpl extends LightweightHint implements LookupEx, Disposable return myChangeGuard || myDisposed; } + public boolean isAvailableToUser() { + if (ApplicationManager.getApplication().isUnitTestMode()) { + return myShown; + } + return isVisible(); + } + public boolean isShown() { if (!ApplicationManager.getApplication().isUnitTestMode()) { ApplicationManager.getApplication().assertIsDispatchThread(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemAction.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemAction.java index e01466538787..638fe182a289 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemAction.java @@ -63,7 +63,7 @@ public abstract class ChooseItemAction extends EditorAction { public boolean isEnabled(Editor editor, DataContext dataContext) { LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(editor); if (lookup == null) return false; - if (!lookup.isShown()) return false; + if (!lookup.isAvailableToUser()) return false; if (focusedOnly && !lookup.isFocused()) return false; if (ChooseItemReplaceAction.hasTemplatePrefix(lookup, TemplateSettings.ENTER_CHAR)) return false; return true; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemCompleteStatementAction.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemCompleteStatementAction.java index 7464234ce8c2..1ec017806d02 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemCompleteStatementAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemCompleteStatementAction.java @@ -41,7 +41,7 @@ public class ChooseItemCompleteStatementAction extends EditorAction { @Override public boolean isEnabled(Editor editor, DataContext dataContext) { LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(editor); - return lookup != null && lookup.isFocused() && lookup.isShown(); + return lookup != null && lookup.isFocused() && lookup.isAvailableToUser(); } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemReplaceAction.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemReplaceAction.java index be26c5c74a21..688952aef8de 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemReplaceAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/actions/ChooseItemReplaceAction.java @@ -51,7 +51,7 @@ public class ChooseItemReplaceAction extends EditorAction { public boolean isEnabled(Editor editor, DataContext dataContext) { LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(editor); if (lookup != null) { - if (!lookup.isShown()) { + if (!lookup.isAvailableToUser()) { return false; }