From 10d0897a3f1596872c01d3bc3967e9728867e965 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 27 Mar 2014 13:22:27 +0100 Subject: [PATCH] Terminal: Added method to control if the terminal control tries to reconnect the terminal connection if closed and the user hits ENTER --- .../feature.xml | 2 +- .../org.eclipse.tm.terminal-feature/pom.xml | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- .../emulator/VT100TerminalControl.java | 19 ++++++++++++++++++- .../provisional/api/ITerminalControl.java | 17 +++++++++++++++++ 10 files changed, 43 insertions(+), 9 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index bab0c638cd8..d6412393f56 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 6ae706e04d8..93f8c5b6091 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.200.qualifier + 3.2.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index f547d4c64e2..25e0863d219 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -12,7 +12,7 @@ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index ce355c0b66a..cc4db328b52 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.3.200.qualifier + 3.3.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 2ef3421dc0a..ce60116f634 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index ecd392b958f..ea81b3f2faf 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.200.qualifier + 3.3.300.qualifier eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index f521127708c..a97d4700d2c 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.200.qualifier +Bundle-Version: 3.2.300.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index 6c2964316db..4af47f5b8d3 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.200.qualifier + 3.2.300.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index c3ea7015d7a..45599fb128b 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -128,6 +128,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private ITerminalConnector fConnector; private final ITerminalConnector[] fConnectors; private final boolean fUseCommonPrefs; + private boolean connectOnEnterIfClosed = true; PipedInputStream fInputStream; private static final String defaultEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); @@ -868,7 +869,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC char character = event.character; //if (!isConnected()) { - if (fState==TerminalState.CLOSED) { + if (fState==TerminalState.CLOSED && isConnectOnEnterIfClosed()) { // Pressing ENTER while not connected causes us to connect. if (character == '\r') { connectTerminal(); @@ -1157,4 +1158,20 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void setInvertedColors(boolean invert) { fCtlText.setInvertedColors(invert); } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setConnectOnEnterIfClosed(boolean) + */ + public final void setConnectOnEnterIfClosed(boolean on) { + connectOnEnterIfClosed = on; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnectOnEnterIfClosed() + */ + public final boolean isConnectOnEnterIfClosed() { + return connectOnEnterIfClosed; + } + + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index 36777d6b25e..bf91af569e2 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -123,4 +123,21 @@ public interface ITerminalControl { */ void setMsg(String msg); + /** + * Sets if or if not the terminal view control should try to reconnect + * the terminal connection if the user hits ENTER in a closed terminal. + *

+ * Reconnect on ENTER if terminal is closed is enabled by default. + * + * @param on True to enable the reconnect, false to disable it. + */ + void setConnectOnEnterIfClosed(boolean on); + + /** + * Returns if or if not the terminal view control should try to reconnect + * the terminal connection if the user hits ENTER in a closed terminal. + * + * @return True the reconnect is enabled, false if disabled. + */ + boolean isConnectOnEnterIfClosed(); }