use ActionManager#tryToExecute to simplify code (IDEA-CR-9987)

This commit is contained in:
Sergey Simonchik
2016-04-08 00:42:44 +03:00
parent a7d3f135b4
commit 0207cec3d3
2 changed files with 8 additions and 24 deletions
@@ -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";