diff options
author | Kenny Root <kenny@the-b.org> | 2009-12-08 15:08:57 +0000 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2009-12-08 15:08:57 +0000 |
commit | 652f9403a5dcc10a667f3662a37bcc606b16ceb0 (patch) | |
tree | 3c06318caa672b13f51c7a3e77b0f9a20d688b46 /src | |
parent | 0b2552bab623b12cf6bdd447dbfd137c375a6851 (diff) | |
download | connectbot-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')
-rw-r--r-- | src/org/connectbot/bean/HostBean.java | 8 | ||||
-rw-r--r-- | src/org/connectbot/service/TerminalBridge.java | 8 | ||||
-rw-r--r-- | src/org/connectbot/util/HostDatabase.java | 19 |
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; } |