From 671d10d54cb166519ec219b39e46e0ff98cfa855 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 18 Jun 2014 13:32:05 +0200 Subject: [PATCH] allow to send notifications to AnActionListeners if action logic is wrapped in awt InputEvent (ShortcutPromoter) --- .../openapi/actionSystem/ex/ActionManagerEx.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ActionManagerEx.java b/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ActionManagerEx.java index ab2612311fee..dae55b12b4fe 100644 --- a/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ActionManagerEx.java +++ b/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ActionManagerEx.java @@ -16,12 +16,14 @@ package com.intellij.openapi.actionSystem.ex; +import com.intellij.ide.DataManager; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.extensions.PluginId; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; +import java.awt.event.InputEvent; import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -107,5 +109,14 @@ public abstract class ActionManagerEx extends ActionManager { public List findActionIdsByAbbreviation(String abbreviation) { return Collections.emptyList(); } + + public void fireBeforeActionPerformed(String actionId, InputEvent event) { + final AnAction action = getAction(actionId); + if (action != null) { + final DataContext context = DataManager.getInstance().getDataContext(); + final AnActionEvent e = new AnActionEvent(event, context, ActionPlaces.UNKNOWN, action.getTemplatePresentation(), this, 0); + fireBeforeActionPerformed(action, context, e); + } + } }