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 @@
-
+
+