mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
allow to send notifications to AnActionListeners if action logic is wrapped in awt InputEvent (ShortcutPromoter)
This commit is contained in:
@@ -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<String> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user