From f42d40d3f28d85d15eb6ee6df71f1a9bfbbf3c1d Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 11 May 2011 12:37:43 +0400 Subject: [PATCH] stop highlighting on Ctrl-N --- .../ide/util/gotoByName/ChooseByNameBase.java | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) 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 bcb3f0247992..1164381cdcc6 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 @@ -17,11 +17,14 @@ package com.intellij.ide.util.gotoByName; import com.intellij.Patches; +import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer; +import com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl; import com.intellij.ide.IdeBundle; import com.intellij.ide.actions.CopyReferenceAction; import com.intellij.ide.ui.UISettings; import com.intellij.ide.util.NavigationItemListCellRenderer; import com.intellij.ide.util.PsiElementListCellRenderer; +import com.intellij.openapi.Disposable; import com.intellij.openapi.MnemonicHelper; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.ApplicationManager; @@ -34,10 +37,7 @@ import com.intellij.openapi.keymap.KeymapManager; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.*; -import com.intellij.openapi.util.ActionCallback; -import com.intellij.openapi.util.Comparing; -import com.intellij.openapi.util.Computable; -import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.*; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.IdeFocusManager; @@ -686,6 +686,24 @@ public abstract class ChooseByNameBase { myTextPopup.setLocation(bounds.getLocation()); new MnemonicHelper().register(myTextFieldPanel); + final boolean previousUpdate; + final DaemonCodeAnalyzer daemonCodeAnalyzer = DaemonCodeAnalyzer.getInstance(myProject); + if (daemonCodeAnalyzer != null) { + previousUpdate = ((DaemonCodeAnalyzerImpl)daemonCodeAnalyzer).isUpdateByTimerEnabled(); + daemonCodeAnalyzer.setUpdateByTimerEnabled(false); + } + else { + previousUpdate = false; + } + + Disposer.register(myTextPopup, new Disposable() { + @Override + public void dispose() { + if (daemonCodeAnalyzer != null) { + daemonCodeAnalyzer.setUpdateByTimerEnabled(previousUpdate); + } + } + }); myTextPopup.show(layeredPane); }