From 91bfbd5047f83956c2289e44dfcf32327c8fff07 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 28 Jun 2012 21:59:55 +0200 Subject: [PATCH] no more class-name completion action in the ui (IDEA-86517) --- .../actions/BaseCodeCompletionAction.java | 24 +++++-------------- .../actions/ClassNameCompletionAction.java | 7 ++++-- .../actions/CodeCompletionAction.java | 10 ++++++-- .../actions/SmartCodeCompletionAction.java | 9 +++++-- .../src/idea/LangActions.xml | 3 ++- 5 files changed, 28 insertions(+), 25 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/BaseCodeCompletionAction.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/BaseCodeCompletionAction.java index 759beb8ed54c..3a0a67655362 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/BaseCodeCompletionAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/BaseCodeCompletionAction.java @@ -15,11 +15,9 @@ */ package com.intellij.codeInsight.completion.actions; -import com.intellij.codeInsight.completion.CodeCompletionFeatures; import com.intellij.codeInsight.completion.CodeCompletionHandlerBase; import com.intellij.codeInsight.completion.CompletionType; import com.intellij.codeInsight.hint.HintManagerImpl; -import com.intellij.featureStatistics.FeatureUsageTracker; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DataContext; @@ -37,29 +35,19 @@ import java.awt.event.InputEvent; * @author peter */ public abstract class BaseCodeCompletionAction extends AnAction implements HintManagerImpl.ActionToIgnore, DumbAware { - private CompletionType myCompletionType; - protected BaseCodeCompletionAction(CompletionType completionType) { - myCompletionType = completionType; + protected BaseCodeCompletionAction() { setEnabledInModalContext(true); setInjectedContext(true); } - public void actionPerformed(AnActionEvent e) { - DataContext dataContext = e.getDataContext(); - Project project = PlatformDataKeys.PROJECT.getData(dataContext); - Editor editor = PlatformDataKeys.EDITOR.getData(dataContext); + protected static void invokeCompletion(AnActionEvent e, CompletionType type, int time) { + Project project = e.getData(PlatformDataKeys.PROJECT); + Editor editor = e.getData(PlatformDataKeys.EDITOR); assert project != null; assert editor != null; - - switch (myCompletionType) { - case BASIC: FeatureUsageTracker.getInstance().triggerFeatureUsed(CodeCompletionFeatures.EDITING_COMPLETION_BASIC); break; - case SMART: FeatureUsageTracker.getInstance().triggerFeatureUsed(CodeCompletionFeatures.EDITING_COMPLETION_SMARTTYPE_GENERAL); break; - case CLASS_NAME: FeatureUsageTracker.getInstance().triggerFeatureUsed(CodeCompletionFeatures.EDITING_COMPLETION_CLASSNAME); break; - } - - final InputEvent inputEvent = e.getInputEvent(); - new CodeCompletionHandlerBase(myCompletionType).invokeCompletion(project, editor, 1, inputEvent != null && inputEvent.getModifiers() != 0); + InputEvent inputEvent = e.getInputEvent(); + new CodeCompletionHandlerBase(type).invokeCompletion(project, editor, time, inputEvent != null && inputEvent.getModifiers() != 0); } @Override diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/ClassNameCompletionAction.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/ClassNameCompletionAction.java index 924b27a9be32..4a90a8c914c7 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/ClassNameCompletionAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/ClassNameCompletionAction.java @@ -17,10 +17,13 @@ package com.intellij.codeInsight.completion.actions; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.openapi.actionSystem.AnActionEvent; public class ClassNameCompletionAction extends BaseCodeCompletionAction{ - public ClassNameCompletionAction() { - super(CompletionType.CLASS_NAME); + + public void actionPerformed(AnActionEvent e) { + invokeCompletion(e, CompletionType.BASIC, 2); } + } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/CodeCompletionAction.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/CodeCompletionAction.java index 21b4a9971918..97b07d4131df 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/CodeCompletionAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/CodeCompletionAction.java @@ -16,14 +16,20 @@ package com.intellij.codeInsight.completion.actions; +import com.intellij.codeInsight.completion.CodeCompletionFeatures; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.featureStatistics.FeatureUsageTracker; +import com.intellij.openapi.actionSystem.AnActionEvent; /** * @author peter */ public class CodeCompletionAction extends BaseCodeCompletionAction { - public CodeCompletionAction() { - super(CompletionType.BASIC); + + public void actionPerformed(AnActionEvent e) { + FeatureUsageTracker.getInstance().triggerFeatureUsed(CodeCompletionFeatures.EDITING_COMPLETION_BASIC); + invokeCompletion(e, CompletionType.BASIC, 1); } + } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/SmartCodeCompletionAction.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/SmartCodeCompletionAction.java index 02522f9f5ebe..fb6be925084e 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/SmartCodeCompletionAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/actions/SmartCodeCompletionAction.java @@ -16,15 +16,20 @@ package com.intellij.codeInsight.completion.actions; +import com.intellij.codeInsight.completion.CodeCompletionFeatures; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.featureStatistics.FeatureUsageTracker; +import com.intellij.openapi.actionSystem.AnActionEvent; /** * @author peter */ public class SmartCodeCompletionAction extends BaseCodeCompletionAction{ - public SmartCodeCompletionAction() { - super(CompletionType.SMART); + public void actionPerformed(AnActionEvent e) { + FeatureUsageTracker.getInstance().triggerFeatureUsed(CodeCompletionFeatures.EDITING_COMPLETION_SMARTTYPE_GENERAL); + invokeCompletion(e, CompletionType.SMART, 1); } + } diff --git a/platform/platform-resources/src/idea/LangActions.xml b/platform/platform-resources/src/idea/LangActions.xml index 19469e244507..5b5276deffe0 100644 --- a/platform/platform-resources/src/idea/LangActions.xml +++ b/platform/platform-resources/src/idea/LangActions.xml @@ -205,12 +205,13 @@ - + +