diff options
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;  	}  | 
