aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml2
-rw-r--r--res/values/strings.xml3
-rw-r--r--res/xml/host_prefs.xml10
-rw-r--r--src/org/connectbot/bean/HostBean.java8
-rw-r--r--src/org/connectbot/service/TerminalBridge.java8
-rw-r--r--src/org/connectbot/util/HostDatabase.java19
6 files changed, 42 insertions, 8 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 59ab4a0..e93d60d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.connectbot"
android:versionName="1.6-dev"
- android:versionCode="212">
+ android:versionCode="213">
<application
android:icon="@drawable/icon"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index e5153ca..ce841a7 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -220,6 +220,9 @@
<!-- Host color category preference title -->
<string name="hostpref_color_title">Color category</string>
+ <!-- Host's default font size when opening the terminal in points (pt) -->
+ <string name="hostpref_fontsize_title">Font size (pt)</string>
+
<!-- Host pubkey usage preference title -->
<string name="hostpref_pubkeyid_title">Use pubkey authentication</string>
diff --git a/res/xml/host_prefs.xml b/res/xml/host_prefs.xml
index 67f4e9d..2ae9f60 100644
--- a/res/xml/host_prefs.xml
+++ b/res/xml/host_prefs.xml
@@ -30,7 +30,15 @@
android:entries="@array/list_colors"
android:entryValues="@array/list_color_values"
/>
-<!--
+
+ <EditTextPreference
+ android:key="fontsize"
+ android:title="@string/hostpref_fontsize_title"
+ android:inputType="number"
+ android:singleLine="true"
+ />
+
+<!--
<CheckBoxPreference
android:key="usekeys"
android:title="Use SSH keys"
diff --git a/src/org/connectbot/bean/HostBean.java b/src/org/connectbot/bean/HostBean.java
index 3f3c1bb..1532790 100644
--- a/src/org/connectbot/bean/HostBean.java
+++ b/src/org/connectbot/bean/HostBean.java
@@ -46,6 +46,7 @@ public class HostBean extends AbstractBean {
private long pubkeyId = -1;
private boolean wantSession = true;
private String delKey = HostDatabase.DELKEY_DEL;
+ private int fontSize = -1;
private boolean compression = false;
private String encoding = HostDatabase.ENCODING_DEFAULT;
private boolean stayConnected = false;
@@ -172,6 +173,12 @@ public class HostBean extends AbstractBean {
public String getDelKey() {
return delKey;
}
+ public void setFontSize(int fontSize) {
+ this.fontSize = fontSize;
+ }
+ public int getFontSize() {
+ return fontSize;
+ }
public void setCompression(boolean compression) {
this.compression = compression;
}
@@ -223,6 +230,7 @@ public class HostBean extends AbstractBean {
values.put(HostDatabase.FIELD_HOST_PUBKEYID, pubkeyId);
values.put(HostDatabase.FIELD_HOST_WANTSESSION, Boolean.toString(wantSession));
values.put(HostDatabase.FIELD_HOST_DELKEY, delKey);
+ values.put(HostDatabase.FIELD_HOST_FONTSIZE, fontSize);
values.put(HostDatabase.FIELD_HOST_COMPRESSION, Boolean.toString(compression));
values.put(HostDatabase.FIELD_HOST_ENCODING, encoding);
values.put(HostDatabase.FIELD_HOST_STAYCONNECTED, stayConnected);
diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java
index 174f989..4918a27 100644
--- a/src/org/connectbot/service/TerminalBridge.java
+++ b/src/org/connectbot/service/TerminalBridge.java
@@ -208,7 +208,10 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener {
fontSizeChangedListeners = new LinkedList<FontSizeChangedListener>();
- setFontSize(DEFAULT_FONT_SIZE);
+ int hostFontSize = host.getFontSize();
+ if (hostFontSize < 0)
+ hostFontSize = DEFAULT_FONT_SIZE;
+ setFontSize(hostFontSize);
// create terminal buffer and handle outgoing data
// this is probably status reply information
@@ -906,6 +909,9 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener {
for (FontSizeChangedListener ofscl : fontSizeChangedListeners)
ofscl.onFontSizeChanged(size);
+
+ host.setFontSize((int) fontSize);
+ manager.hostdb.saveHost(host);
}
/**
diff --git a/src/org/connectbot/util/HostDatabase.java b/src/org/connectbot/util/HostDatabase.java
index 080eb60..b4f2fa5 100644
--- a/src/org/connectbot/util/HostDatabase.java
+++ b/src/org/connectbot/util/HostDatabase.java
@@ -48,7 +48,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
public final static String TAG = "ConnectBot.HostDatabase";
public final static String DB_NAME = "hosts";
- public final static int DB_VERSION = 20;
+ public final static int DB_VERSION = 21;
public final static String TABLE_HOSTS = "hosts";
public final static String FIELD_HOST_NICKNAME = "nickname";
@@ -66,6 +66,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
public final static String FIELD_HOST_PUBKEYID = "pubkeyid";
public final static String FIELD_HOST_WANTSESSION = "wantsession";
public final static String FIELD_HOST_DELKEY = "delkey";
+ public final static String FIELD_HOST_FONTSIZE = "fontsize";
public final static String FIELD_HOST_COMPRESSION = "compression";
public final static String FIELD_HOST_ENCODING = "encoding";
public final static String FIELD_HOST_STAYCONNECTED = "stayconnected";
@@ -154,6 +155,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
+ FIELD_HOST_POSTLOGIN + " TEXT, "
+ FIELD_HOST_PUBKEYID + " INTEGER DEFAULT " + PUBKEYID_ANY + ", "
+ FIELD_HOST_DELKEY + " TEXT DEFAULT '" + DELKEY_DEL + "', "
+ + FIELD_HOST_FONTSIZE + " INTEGER, "
+ FIELD_HOST_WANTSESSION + " TEXT DEFAULT '" + Boolean.toString(true) + "', "
+ FIELD_HOST_COMPRESSION + " TEXT DEFAULT '" + Boolean.toString(false) + "', "
+ FIELD_HOST_ENCODING + " TEXT DEFAULT '" + ENCODING_DEFAULT + "', "
@@ -254,6 +256,9 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
case 19:
db.execSQL("ALTER TABLE " + TABLE_HOSTS
+ " ADD COLUMN " + FIELD_HOST_STAYCONNECTED + " TEXT");
+ case 20:
+ db.execSQL("ALTER TABLE " + TABLE_HOSTS
+ + " ADD COLUMN " + FIELD_HOST_FONTSIZE + " INTEGER");
}
}
@@ -280,17 +285,21 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
* Create a new host using the given parameters.
*/
public HostBean saveHost(HostBean host) {
- long id;
+ long id = host.getId();
synchronized (dbLock) {
SQLiteDatabase db = this.getWritableDatabase();
- id = db.insert(TABLE_HOSTS, null, host.getValues());
+ if (id < 0) {
+ id = db.insert(TABLE_HOSTS, null, host.getValues());
+ host.setId(id);
+ } else {
+ db.update(TABLE_HOSTS, host.getValues(), "_id = ?",
+ new String[] { String.valueOf(id) });
+ }
db.close();
}
- host.setId(id);
-
return host;
}