From 0207cec3d3d40c50fae32315b396216b26c895b3 Mon Sep 17 00:00:00 2001 From: Sergey Simonchik Date: Fri, 8 Apr 2016 00:42:44 +0300 Subject: [PATCH] use ActionManager#tryToExecute to simplify code (IDEA-CR-9987) --- .../unscramble/AnalyzeStacktraceUtil.java | 31 +++++-------------- .../openapi/actionSystem/IdeActions.java | 1 + 2 files changed, 8 insertions(+), 24 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceUtil.java b/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceUtil.java index 761e9e35a83e..34f0649183ac 100644 --- a/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceUtil.java +++ b/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceUtil.java @@ -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()); diff --git a/platform/platform-api/src/com/intellij/openapi/actionSystem/IdeActions.java b/platform/platform-api/src/com/intellij/openapi/actionSystem/IdeActions.java index 6a1bc288ffdb..3cb240e070ca 100644 --- a/platform/platform-api/src/com/intellij/openapi/actionSystem/IdeActions.java +++ b/platform/platform-api/src/com/intellij/openapi/actionSystem/IdeActions.java @@ -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"; -- 2.23.3