From 7323ddbddf432f06bdc3e2621b62d6408cc151e8 Mon Sep 17 00:00:00 2001 From: Valentin Fondaratov Date: Thu, 26 Jun 2014 12:53:23 +0400 Subject: [PATCH] restore old pycharm "show py prompt" button appearance --- .../execution/console/DuplexConsoleView.java | 26 ++++++++++++------- .../com/jetbrains/python/PyBundle.properties | 1 + .../PythonDebugLanguageConsoleView.java | 5 ++++ 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/console/DuplexConsoleView.java b/platform/lang-impl/src/com/intellij/execution/console/DuplexConsoleView.java index c228f4076caf..c760310cd391 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/DuplexConsoleView.java +++ b/platform/lang-impl/src/com/intellij/execution/console/DuplexConsoleView.java @@ -19,6 +19,7 @@ import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.util.Disposer; import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; @@ -29,15 +30,18 @@ public class DuplexConsoleView ext private final static String PRIMARY_CONSOLE_PANEL = "PRIMARY_CONSOLE_PANEL"; private final static String SECONDARY_CONSOLE_PANEL = "SECONDARY_CONSOLE_PANEL"; + @NotNull private final S myPrimaryConsoleView; - + @NotNull private final T mySecondaryConsoleView; private boolean myPrimary; - + @Nullable private ProcessHandler myProcessHandler; + @NotNull + private final SwitchDuplexConsoleViewAction mySwitchConsoleAction; - public DuplexConsoleView(S primaryConsoleView, T secondaryConsoleView) { + public DuplexConsoleView(@NotNull S primaryConsoleView, @NotNull T secondaryConsoleView) { super(new CardLayout()); myPrimaryConsoleView = primaryConsoleView; mySecondaryConsoleView = secondaryConsoleView; @@ -45,6 +49,8 @@ public class DuplexConsoleView ext add(myPrimaryConsoleView.getComponent(), PRIMARY_CONSOLE_PANEL); add(mySecondaryConsoleView.getComponent(), SECONDARY_CONSOLE_PANEL); + mySwitchConsoleAction = new SwitchDuplexConsoleViewAction(this); + myPrimary = true; enableConsole(false); @@ -74,10 +80,12 @@ public class DuplexConsoleView ext return myPrimary; } + @NotNull public S getPrimaryConsoleView() { return myPrimaryConsoleView; } + @NotNull public T getSecondaryConsoleView() { return mySecondaryConsoleView; } @@ -166,13 +174,8 @@ public class DuplexConsoleView ext public AnAction[] createConsoleActions() { List actions = Lists.newArrayList(); actions.addAll(Arrays.asList(myPrimaryConsoleView.createConsoleActions())); - //for (AnAction action : mySecondaryConsoleView.createConsoleActions()) { - // if (!actions.contains(action)) { - // actions.add(action); - // } - //} - actions.add(new SwitchDuplexConsoleViewAction(this)); + actions.add(mySwitchConsoleAction); return ArrayUtil.toObjectArray(actions, AnAction.class); } @@ -207,6 +210,11 @@ public class DuplexConsoleView ext } } + @NotNull + public Presentation getSwitchConsoleActionPresentation() { + return mySwitchConsoleAction.getTemplatePresentation(); + } + private static class SwitchDuplexConsoleViewAction extends ToggleAction implements DumbAware { private final DuplexConsoleView myConsole; diff --git a/python/src/com/jetbrains/python/PyBundle.properties b/python/src/com/jetbrains/python/PyBundle.properties index 00d4c972c2d5..5d29d3f79d50 100644 --- a/python/src/com/jetbrains/python/PyBundle.properties +++ b/python/src/com/jetbrains/python/PyBundle.properties @@ -789,6 +789,7 @@ runcfg.unittest.dlg.test_function_title=Function runcfg.unittest.dlg.keywords=Keywords: run.configuration.remote.debug.name=Python Remote Debug run.configuration.type.description=Starts server for remote debug +run.configuration.show.command.line.action.name=Show Python Prompt unable.to.stop=Currently running process can't be stopped. Kill it manually first. diff --git a/python/src/com/jetbrains/python/console/PythonDebugLanguageConsoleView.java b/python/src/com/jetbrains/python/console/PythonDebugLanguageConsoleView.java index 4de1b094b499..961f703e678d 100644 --- a/python/src/com/jetbrains/python/console/PythonDebugLanguageConsoleView.java +++ b/python/src/com/jetbrains/python/console/PythonDebugLanguageConsoleView.java @@ -24,6 +24,8 @@ import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.wm.IdeFocusManager; +import com.jetbrains.python.PyBundle; +import icons.PythonIcons; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -36,6 +38,9 @@ public class PythonDebugLanguageConsoleView extends DuplexConsoleView