aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/org/connectbot/ConsoleActivity.java19
-rw-r--r--src/org/connectbot/service/TerminalBridge.java7
2 files changed, 20 insertions, 6 deletions
diff --git a/src/org/connectbot/ConsoleActivity.java b/src/org/connectbot/ConsoleActivity.java
index e8ec572..bd66b3b 100644
--- a/src/org/connectbot/ConsoleActivity.java
+++ b/src/org/connectbot/ConsoleActivity.java
@@ -578,10 +578,13 @@ public class ConsoleActivity extends Activity {
final boolean activeTerminal = (view instanceof TerminalView);
boolean sessionOpen = false;
boolean disconnected = false;
+ boolean canForwardPorts = false;
if (activeTerminal) {
- sessionOpen = ((TerminalView) view).bridge.isSessionOpen();
- disconnected = ((TerminalView) view).bridge.isDisconnected();
+ TerminalBridge bridge = ((TerminalView) view).bridge;
+ sessionOpen = bridge.isSessionOpen();
+ disconnected = bridge.isDisconnected();
+ canForwardPorts = bridge.canFowardPorts();
}
menu.setQwertyMode(true);
@@ -648,7 +651,7 @@ public class ConsoleActivity extends Activity {
portForward = menu.add(R.string.console_menu_portforwards);
portForward.setAlphabeticShortcut('f');
portForward.setIcon(android.R.drawable.ic_menu_manage);
- portForward.setEnabled(sessionOpen);
+ portForward.setEnabled(sessionOpen && canForwardPorts);
portForward.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
TerminalView terminalView = (TerminalView) findCurrentView(R.id.console_flip);
@@ -698,9 +701,13 @@ public class ConsoleActivity extends Activity {
boolean activeTerminal = (view instanceof TerminalView);
boolean sessionOpen = false;
boolean disconnected = false;
+ boolean canForwardPorts = false;
+
if (activeTerminal) {
- sessionOpen = ((TerminalView)view).bridge.isSessionOpen();
- disconnected = ((TerminalView)view).bridge.isDisconnected();
+ TerminalBridge bridge = ((TerminalView) view).bridge;
+ sessionOpen = bridge.isSessionOpen();
+ disconnected = bridge.isDisconnected();
+ canForwardPorts = bridge.canFowardPorts();
}
disconnect.setEnabled(activeTerminal);
@@ -710,7 +717,7 @@ public class ConsoleActivity extends Activity {
disconnect.setTitle(R.string.console_menu_close);
copy.setEnabled(activeTerminal);
paste.setEnabled(clipboard.hasText() && sessionOpen);
- portForward.setEnabled(sessionOpen);
+ portForward.setEnabled(sessionOpen && canForwardPorts);
resize.setEnabled(sessionOpen);
return true;
diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java
index 8538257..9e8d4be 100644
--- a/src/org/connectbot/service/TerminalBridge.java
+++ b/src/org/connectbot/service/TerminalBridge.java
@@ -1117,6 +1117,13 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener {
}
/**
+ * @return whether underlying transport can forward ports
+ */
+ public boolean canFowardPorts() {
+ return transport.canForwardPorts();
+ }
+
+ /**
* Adds the {@link PortForwardBean} to the list.
* @param portForward the port forward bean to add
* @return true on successful addition