diff options
-rw-r--r-- | app/src/main/java/org/connectbot/ConsoleActivity.java | 13 | ||||
-rw-r--r-- | app/src/main/java/org/connectbot/service/TerminalKeyListener.java | 14 | ||||
-rw-r--r-- | app/src/main/res/drawable/button_tab.png | bin | 0 -> 3535 bytes | |||
-rw-r--r-- | app/src/main/res/layout/act_console.xml | 11 | ||||
-rw-r--r-- | app/src/main/res/layout/act_hostlist.xml | 8 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 4 |
6 files changed, 45 insertions, 5 deletions
diff --git a/app/src/main/java/org/connectbot/ConsoleActivity.java b/app/src/main/java/org/connectbot/ConsoleActivity.java index 2116d92..ed98526 100644 --- a/app/src/main/java/org/connectbot/ConsoleActivity.java +++ b/app/src/main/java/org/connectbot/ConsoleActivity.java @@ -436,6 +436,19 @@ public class ConsoleActivity extends Activity { } }); + final ImageView tabButton = (ImageView) findViewById(R.id.button_tab); + tabButton.setOnClickListener(new OnClickListener() { + public void onClick(View view) { + View flip = findCurrentView(R.id.console_flip); + if (flip == null) return; + TerminalView terminal = (TerminalView)flip; + + TerminalKeyListener handler = terminal.bridge.getKeyHandler(); + handler.sendTab(); + hideEmulatedKeys(); + } + }); + actionBar = ActionBarWrapper.getActionBar(this); actionBar.setDisplayHomeAsUpEnabled(true); if (titleBarHide) { diff --git a/app/src/main/java/org/connectbot/service/TerminalKeyListener.java b/app/src/main/java/org/connectbot/service/TerminalKeyListener.java index 2a911a8..a30eba7 100644 --- a/app/src/main/java/org/connectbot/service/TerminalKeyListener.java +++ b/app/src/main/java/org/connectbot/service/TerminalKeyListener.java @@ -483,6 +483,20 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha ((vt320) buffer).keyTyped(vt320.KEY_ESCAPE, ' ', 0); } + public void sendTab() { + try { + bridge.transport.write(0x09); + } catch (IOException e) { + Log.e(TAG, "Problem while trying to send TAB press.", e); + try { + bridge.transport.flush(); + } catch (IOException ioe) { + Log.d(TAG, "Our transport was closed, dispatching disconnect event"); + bridge.dispatchDisconnect(false); + } + } + } + /** * @param key * @return successful diff --git a/app/src/main/res/drawable/button_tab.png b/app/src/main/res/drawable/button_tab.png Binary files differnew file mode 100644 index 0000000..4443118 --- /dev/null +++ b/app/src/main/res/drawable/button_tab.png diff --git a/app/src/main/res/layout/act_console.xml b/app/src/main/res/layout/act_console.xml index f7db787..46dedfb 100644 --- a/app/src/main/res/layout/act_console.xml +++ b/app/src/main/res/layout/act_console.xml @@ -158,6 +158,17 @@ android:src="@+drawable/button_esc" android:contentDescription="@string/image_description_send_escape_character" /> + + <ImageView + android:id="@+id/button_tab" + android:paddingRight="15dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toRightOf="@+id/button_esc" + android:layout_alignParentBottom="true" + android:src="@+drawable/button_tab" + android:contentDescription="@string/image_description_send_tab_character" + /> </RelativeLayout> diff --git a/app/src/main/res/layout/act_hostlist.xml b/app/src/main/res/layout/act_hostlist.xml index 3c6f4b1..3d46068 100644 --- a/app/src/main/res/layout/act_hostlist.xml +++ b/app/src/main/res/layout/act_hostlist.xml @@ -25,8 +25,9 @@ android:layout_height="fill_parent" > - <RelativeLayout + <LinearLayout android:id="@+id/quickconnect" + android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" @@ -37,7 +38,6 @@ android:id="@+id/transport_selection" android:layout_height="wrap_content" android:layout_width="wrap_content" - android:layout_alignParentLeft="true" /> <EditText @@ -45,14 +45,12 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="username@hostname:port" - android:layout_toRightOf="@+id/transport_selection" - android:layout_alignBaseline="@+id/transport_selection" android:inputType="textEmailAddress" android:maxLines="1" android:ellipsize="end" android:focusableInTouchMode="true" android:singleLine="true"/> - </RelativeLayout> + </LinearLayout> <ListView diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d8e3bb5..cbc275c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -505,6 +505,10 @@ <!-- Describes the icon of the "send escape character" button in the terminal view for accessibility purposes. --> <string name="image_description_send_escape_character">Send escape character.</string> + + <!-- Describes the icon of the "send tab character" button in the terminal view for + accessibility purposes. --> + <string name="image_description_send_tab_character">Send TAB character.</string> <!-- Describes the icon of the "show keyboard" button in the terminal view for accessibility purposes. --> |