aboutsummaryrefslogtreecommitdiffstats
path: root/src/org
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2009-12-08 15:08:57 +0000
committerKenny Root <kenny@the-b.org>2009-12-08 15:08:57 +0000
commit652f9403a5dcc10a667f3662a37bcc606b16ceb0 (patch)
tree3c06318caa672b13f51c7a3e77b0f9a20d688b46 /src/org
parent0b2552bab623b12cf6bdd447dbfd137c375a6851 (diff)
downloadconnectbot-652f9403a5dcc10a667f3662a37bcc606b16ceb0.tar.gz
connectbot-652f9403a5dcc10a667f3662a37bcc606b16ceb0.tar.bz2
connectbot-652f9403a5dcc10a667f3662a37bcc606b16ceb0.zip
Save font size when changed on a host
Save font size immediately when changed in a console session. Allow the setting of font size when editing a host. git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@431 df292f66-193f-0410-a5fc-6d59da041ff2
Diffstat (limited to 'src/org')
-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
3 files changed, 29 insertions, 6 deletions
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;
}