mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
propagate place to NewElement popup: IDEA-186884
This commit is contained in:
@@ -17,6 +17,7 @@ package com.intellij.openapi.actionSystem;
|
||||
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@@ -28,6 +29,7 @@ import java.util.Set;
|
||||
public abstract class ActionPlaces {
|
||||
public static final String UNKNOWN = "unknown";
|
||||
public static final String TOOLBAR = "toolbar";
|
||||
public static final String POPUP = "popup";
|
||||
|
||||
/**
|
||||
* consider to use {@link #isMainMenuOrActionSearch(String)} instead
|
||||
@@ -156,7 +158,7 @@ public abstract class ActionPlaces {
|
||||
}
|
||||
|
||||
private static final Set<String> ourPopupPlaces = ContainerUtil.newHashSet(
|
||||
EDITOR_POPUP, EDITOR_TAB_POPUP, COMMANDER_POPUP,
|
||||
POPUP, EDITOR_POPUP, EDITOR_TAB_POPUP, COMMANDER_POPUP,
|
||||
PROJECT_VIEW_POPUP, FAVORITES_VIEW_POPUP, SCOPE_VIEW_POPUP, TESTTREE_VIEW_POPUP, TESTSTATISTICS_VIEW_POPUP, TYPE_HIERARCHY_VIEW_POPUP,
|
||||
METHOD_HIERARCHY_VIEW_POPUP, CALL_HIERARCHY_VIEW_POPUP, J2EE_ATTRIBUTES_VIEW_POPUP, J2EE_VIEW_POPUP, USAGE_VIEW_POPUP,
|
||||
STRUCTURE_VIEW_POPUP, TODO_VIEW_POPUP, COMPILER_MESSAGES_POPUP, ANT_MESSAGES_POPUP, ANT_EXPLORER_POPUP, UPDATE_POPUP,
|
||||
@@ -167,7 +169,14 @@ public abstract class ActionPlaces {
|
||||
V8_CPU_PROFILING_POPUP, V8_HEAP_PROFILING_POPUP, V8_HEAP_PROFILING_POPUP, RUN_DASHBOARD_POPUP
|
||||
);
|
||||
|
||||
private static final String POPUP_PREFIX = "popup@";
|
||||
|
||||
public static boolean isPopupPlace(@NotNull String place) {
|
||||
return ourPopupPlaces.contains(place);
|
||||
return ourPopupPlaces.contains(place) || place.startsWith(POPUP_PREFIX);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getActionGroupPopupPlace(@Nullable String actionId) {
|
||||
return actionId == null ? POPUP : POPUP_PREFIX + actionId;
|
||||
}
|
||||
}
|
||||
|
||||
+6
-3
@@ -571,9 +571,12 @@ public final class IdeKeyEventDispatcher implements Disposable {
|
||||
DataContext ctx = actionEvent.getDataContext();
|
||||
if (action instanceof ActionGroup && !((ActionGroup)action).canBePerformed(ctx)) {
|
||||
ActionGroup group = (ActionGroup)action;
|
||||
JBPopupFactory.getInstance()
|
||||
.createActionGroupPopup(group.getTemplatePresentation().getText(), group, ctx, JBPopupFactory.ActionSelectionAid.SPEEDSEARCH, false)
|
||||
.showInBestPositionFor(ctx);
|
||||
String groupId = ActionManager.getInstance().getId(action);
|
||||
JBPopupFactory.getInstance().createActionGroupPopup(
|
||||
group.getTemplatePresentation().getText(), group, ctx,
|
||||
JBPopupFactory.ActionSelectionAid.SPEEDSEARCH,
|
||||
false, null, -1, null, ActionPlaces.getActionGroupPopupPlace(groupId))
|
||||
.showInBestPositionFor(ctx);
|
||||
}
|
||||
else {
|
||||
ActionUtil.performActionDumbAware(action, actionEvent);
|
||||
|
||||
Reference in New Issue
Block a user