mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
use ActionManager#tryToExecute to simplify code (IDEA-CR-9987)
This commit is contained in:
@@ -25,7 +25,6 @@ import com.intellij.execution.filters.TextConsoleBuilderFactory;
|
||||
import com.intellij.execution.impl.ConsoleViewImpl;
|
||||
import com.intellij.execution.ui.*;
|
||||
import com.intellij.execution.ui.actions.CloseAction;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.actionSystem.ex.ActionUtil;
|
||||
@@ -39,9 +38,9 @@ import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.extensions.Extensions;
|
||||
import com.intellij.openapi.ide.CopyPasteManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.playback.commands.ActionCommand;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.wm.IdeFocusManager;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import com.intellij.util.ui.update.UiNotifyConnector;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -135,7 +134,7 @@ public class AnalyzeStacktraceUtil {
|
||||
@NotNull RunContentDescriptor descriptor,
|
||||
@NotNull ConsoleView consoleView,
|
||||
@NotNull String stacktrace) {
|
||||
AnAction replaceAction = ActionManager.getInstance().getAction("Replace");
|
||||
AnAction replaceAction = ActionManager.getInstance().getAction(IdeActions.ACTION_REPLACE);
|
||||
if (replaceAction == null) {
|
||||
return;
|
||||
}
|
||||
@@ -150,7 +149,11 @@ public class AnalyzeStacktraceUtil {
|
||||
UiNotifyConnector.doWhenFirstShown(myEditorPanel, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
performReplaceAction(project, replaceAction, myEditorPanel);
|
||||
ActionManager.getInstance().tryToExecute(replaceAction,
|
||||
ActionCommand.getInputEvent(IdeActions.ACTION_REPLACE),
|
||||
myEditorPanel,
|
||||
ActionPlaces.UNKNOWN,
|
||||
false);
|
||||
}
|
||||
});
|
||||
return result;
|
||||
@@ -168,26 +171,6 @@ public class AnalyzeStacktraceUtil {
|
||||
}, replaceAction.getShortcutSet());
|
||||
}
|
||||
|
||||
private static void performReplaceAction(@NotNull Project project, @NotNull AnAction replaceAction,
|
||||
@NotNull JComponent contextComponent) {
|
||||
IdeFocusManager.getInstance(project).doWhenFocusSettlesDown(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
DataContext context = DataManager.getInstance().getDataContext(contextComponent);
|
||||
AnActionEvent actionEvent = AnActionEvent.createFromAnAction(replaceAction, null, ActionPlaces.UNKNOWN, context);
|
||||
replaceAction.update(actionEvent);
|
||||
if (actionEvent.getPresentation().isEnabledAndVisible()) {
|
||||
ActionUtil.performActionDumbAware(replaceAction, actionEvent);
|
||||
}
|
||||
}
|
||||
});
|
||||
//ApplicationManager.getApplication().invokeLater(new Runnable() {
|
||||
// @Override
|
||||
// public void run() {
|
||||
// }
|
||||
//}, ModalityState.stateForComponent(contextComponent));
|
||||
}
|
||||
|
||||
private static final class MyConsolePanel extends JPanel {
|
||||
public MyConsolePanel(ExecutionConsole consoleView, ActionGroup toolbarActions) {
|
||||
super(new BorderLayout());
|
||||
|
||||
@@ -142,6 +142,7 @@ public interface IdeActions {
|
||||
@NonNls String ACTION_SELECT_NEXT_OCCURENCE = "SelectNextOccurrence";
|
||||
@NonNls String ACTION_SELECT_ALL_OCCURRENCES = "SelectAllOccurrences";
|
||||
@NonNls String ACTION_UNSELECT_PREVIOUS_OCCURENCE = "UnselectPreviousOccurrence";
|
||||
@NonNls String ACTION_REPLACE = "Replace";
|
||||
@NonNls String ACTION_COMPILE = "Compile";
|
||||
@NonNls String ACTION_COMPILE_PROJECT = "CompileProject";
|
||||
@NonNls String ACTION_MAKE_MODULE = "MakeModule";
|
||||
|
||||
Reference in New Issue
Block a user