From fcfba25d18ef611df25a06220a7c7f9d6797f7e2 Mon Sep 17 00:00:00 2001 From: "Gregory.Shrago" Date: Mon, 16 Jul 2012 22:54:22 +0400 Subject: [PATCH] IDEA-80927 Change Default Shortcut to stop edititing embedded Groovy (2) --- .../intention/impl/QuickEditHandler.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditHandler.java index 6b957ac47126..314f42ea2ab5 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/QuickEditHandler.java @@ -20,13 +20,11 @@ import com.intellij.codeInsight.template.TemplateManager; import com.intellij.lang.Language; import com.intellij.lang.injection.InjectedLanguageManager; import com.intellij.openapi.Disposable; -import com.intellij.openapi.actionSystem.AnAction; -import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.CommonShortcuts; -import com.intellij.openapi.actionSystem.PlatformDataKeys; +import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.editor.*; +import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.editor.actionSystem.EditorActionManager; import com.intellij.openapi.editor.actionSystem.ReadonlyFragmentModificationHandler; import com.intellij.openapi.editor.event.DocumentAdapter; @@ -119,17 +117,22 @@ public class QuickEditHandler extends DocumentAdapter implements Disposable { }); } }); - EditorFactory.getInstance().addEditorFactoryListener(new EditorFactoryAdapter() { + EditorFactory editorFactory = EditorFactory.getInstance(); + assert editorFactory != null; + editorFactory.addEditorFactoryListener(new EditorFactoryAdapter() { + @Override public void editorCreated(@NotNull EditorFactoryEvent event) { if (event.getEditor().getDocument() == myNewDocument) { + final EditorActionHandler editorEscape = EditorActionManager.getInstance().getActionHandler(IdeActions.ACTION_EDITOR_ESCAPE); new AnAction() { @Override public void update(AnActionEvent e) { Editor editor = PlatformDataKeys.EDITOR.getData(e.getDataContext()); e.getPresentation().setEnabled( editor != null && LookupManager.getActiveLookup(editor) == null && - TemplateManager.getInstance(myProject).getActiveTemplate(editor) == null); + TemplateManager.getInstance(myProject).getActiveTemplate(editor) == null && + (editorEscape == null || !editorEscape.isEnabled(editor, e.getDataContext()))); } @Override