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 | |
| 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
| -rw-r--r-- | AndroidManifest.xml | 2 | ||||
| -rw-r--r-- | res/values/strings.xml | 3 | ||||
| -rw-r--r-- | res/xml/host_prefs.xml | 10 | ||||
| -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 | 
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;  	}  | 
