From ef54a9fcdf601efcb692ebba299c09becd678729 Mon Sep 17 00:00:00 2001 From: Gregory Shrago Date: Fri, 11 Mar 2011 23:09:42 +0300 Subject: [PATCH] IDEA-66505, IDEA-66503 Buggy "DB view in dialog" completely removed! --- .../openapi/actionSystem/EmptyAction.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/platform/platform-api/src/com/intellij/openapi/actionSystem/EmptyAction.java b/platform/platform-api/src/com/intellij/openapi/actionSystem/EmptyAction.java index c5c11412a624..c362e0470d47 100644 --- a/platform/platform-api/src/com/intellij/openapi/actionSystem/EmptyAction.java +++ b/platform/platform-api/src/com/intellij/openapi/actionSystem/EmptyAction.java @@ -42,4 +42,40 @@ public class EmptyAction extends AnAction { action.getTemplatePresentation().setText(emptyAction.getTemplatePresentation().getText()); action.registerCustomShortcutSet(emptyAction.getShortcutSet(), component); } + + public static AnAction wrap(final AnAction action) { + return action instanceof ActionGroup ? new ActionGroup() { + { + setPopup(((ActionGroup)action).isPopup()); + copyFrom(action); + setShortcutSet(new CustomShortcutSet()); + } + + @Override + public void update(final AnActionEvent e) { + action.update(e); + } + + @NotNull + @Override + public AnAction[] getChildren(@Nullable final AnActionEvent e) { + return ((ActionGroup)action).getChildren(e); + } + } : new AnAction() { + { + copyFrom(action); + setShortcutSet(new CustomShortcutSet()); + } + + @Override + public void actionPerformed(final AnActionEvent e) { + action.actionPerformed(e); + } + + @Override + public void update(final AnActionEvent e) { + action.update(e); + } + }; + } }