From ec036e8fe057f4b641ba9ee17d6dce2689816047 Mon Sep 17 00:00:00 2001 From: Mike Beattie Date: Fri, 14 Sep 2012 00:25:49 +1200 Subject: altoslib/altosui: begin moving preferences "backend" into interface Signed-off-by: Mike Beattie --- altosui/AltosUIPreferencesBackend.java | 84 ++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 altosui/AltosUIPreferencesBackend.java (limited to 'altosui/AltosUIPreferencesBackend.java') diff --git a/altosui/AltosUIPreferencesBackend.java b/altosui/AltosUIPreferencesBackend.java new file mode 100644 index 00000000..16844f37 --- /dev/null +++ b/altosui/AltosUIPreferencesBackend.java @@ -0,0 +1,84 @@ +/* + * Copyright © 2012 Mike Beattie + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ + +package altosui; + +import java.text.*; +import java.util.prefs.*; +import org.altusmetrum.AltosLib.*; + +public class AltosUIPreferencesBackend implements AltosPreferencesBackend { + + private Preferences _preferences = null; + + public AltosUIPreferencesBackend() { + _preferences = Preferences.userRoot().node("/org/altusmetrum/altosui"); + } + + public AltosUIPreferencesBackend(Preferences in_preferences) { + _preferences = in_preferences; + } + + public String getString(String key, String def) { + return _preferences.get(key, def) + } + public void putString(String key, String value) { + _preferences.put(key, value); + } + + public int getInt(String key, int def) { + return _preferences.getInt(key, def); + } + public void putInt(String key, int value) { + _preferences.putInt(key, value); + } + + public double getDouble(String key, double def) { + return _preferences.getDouble(key, def); + } + public void putDouble(String key, double value) { + _preferences.putDouble(key, value); + } + + public boolean getBoolean(String key, boolean def) { + return _preferences.getBoolean(key, def); + } + public void putBoolean(String key, boolean value) { + _preferences.putBoolean(key, value); + } + + public boolean nodeExists(String key) { + try { + return _preferences.nodeExists(key); + } catch (BackingStoreException be) { + return false; + } + } + + public AltosPreferencesBackend node(String key) { + return new AltosUIPreferencesBackend(_preferences.node(key)); + } + + public void flush() { + try { + _preferences.flush(); + } catch (BackingStoreException ee) { + System.err.printf("Cannot save preferences\n"); + } + } + +} \ No newline at end of file -- cgit v1.2.3 From 67b618409a0d34fff26cac6025bc159ff92ede9c Mon Sep 17 00:00:00 2001 From: Mike Beattie Date: Fri, 14 Sep 2012 00:40:16 +1200 Subject: altosui: add missing methods for Backend, fix BT code. Signed-off-by: Mike Beattie --- altosui/AltosBTKnown.java | 6 +++--- altosui/AltosUIPreferences.java | 6 +++--- altosui/AltosUIPreferencesBackend.java | 8 ++++++++ 3 files changed, 14 insertions(+), 6 deletions(-) (limited to 'altosui/AltosUIPreferencesBackend.java') diff --git a/altosui/AltosBTKnown.java b/altosui/AltosBTKnown.java index 74cc6838..7e5e9533 100644 --- a/altosui/AltosBTKnown.java +++ b/altosui/AltosBTKnown.java @@ -21,14 +21,14 @@ import java.util.prefs.*; public class AltosBTKnown implements Iterable { LinkedList devices = new LinkedList(); - Preferences bt_pref = AltosUIPreferences.bt_devices(); + AltosPreferencesBackend bt_pref = AltosUIPreferences.bt_devices(); private String get_address(String name) { - return bt_pref.get(name, ""); + return bt_pref.getString(name, ""); } private void set_address(String name, String addr) { - bt_pref.put(name, addr); + bt_pref.putString(name, addr); } private void remove(String name) { diff --git a/altosui/AltosUIPreferences.java b/altosui/AltosUIPreferences.java index 03e8e129..6e4c9097 100644 --- a/altosui/AltosUIPreferences.java +++ b/altosui/AltosUIPreferences.java @@ -98,7 +98,7 @@ public class AltosUIPreferences extends AltosPreferences { } } public static int font_size() { - synchronized (preferences) { + synchronized (backend) { return font_size; } } @@ -144,7 +144,7 @@ public class AltosUIPreferences extends AltosPreferences { } public static String look_and_feel() { - synchronized (preferences) { + synchronized (backend) { return look_and_feel; } } @@ -170,7 +170,7 @@ public class AltosUIPreferences extends AltosPreferences { } public static boolean serial_debug() { - synchronized (preferences) { + synchronized (backend) { return serial_debug; } } diff --git a/altosui/AltosUIPreferencesBackend.java b/altosui/AltosUIPreferencesBackend.java index 16844f37..2b2769c2 100644 --- a/altosui/AltosUIPreferencesBackend.java +++ b/altosui/AltosUIPreferencesBackend.java @@ -73,6 +73,14 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend { return new AltosUIPreferencesBackend(_preferences.node(key)); } + public String[] keys() { + return _preferences.keys(); + } + + public void remove(String key) { + _preferences.remove(key); + } + public void flush() { try { _preferences.flush(); -- cgit v1.2.3 From 26c83bc0981036651a89c29771b2ad52c8fb0396 Mon Sep 17 00:00:00 2001 From: Mike Beattie Date: Fri, 14 Sep 2012 01:03:53 +1200 Subject: altosui/altoslib: bug fixes, update Makefile.am Signed-off-by: Mike Beattie --- altosui/AltosUIPreferences.java | 2 +- altosui/AltosUIPreferencesBackend.java | 4 ++-- altosui/Makefile.am | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) (limited to 'altosui/AltosUIPreferencesBackend.java') diff --git a/altosui/AltosUIPreferences.java b/altosui/AltosUIPreferences.java index c1087dd6..4ef9384d 100644 --- a/altosui/AltosUIPreferences.java +++ b/altosui/AltosUIPreferences.java @@ -46,7 +46,7 @@ public class AltosUIPreferences extends AltosPreferences { static boolean serial_debug; public static void init(AltosUIPreferencesBackend in_backend) { - super(in_backend); + AltosPreferences.init(in_backend); font_listeners = new LinkedList(); diff --git a/altosui/AltosUIPreferencesBackend.java b/altosui/AltosUIPreferencesBackend.java index 2b2769c2..69485ba4 100644 --- a/altosui/AltosUIPreferencesBackend.java +++ b/altosui/AltosUIPreferencesBackend.java @@ -34,7 +34,7 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend { } public String getString(String key, String def) { - return _preferences.get(key, def) + return _preferences.get(key, def); } public void putString(String key, String value) { _preferences.put(key, value); @@ -89,4 +89,4 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend { } } -} \ No newline at end of file +} diff --git a/altosui/Makefile.am b/altosui/Makefile.am index 6010df58..9f03ceb6 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -65,6 +65,7 @@ altosui_JAVA = \ AltosLights.java \ AltosPad.java \ AltosUIPreferences.java \ + AltosUIPreferencesBackend.java \ AltosRomconfig.java \ AltosRomconfigUI.java \ AltosScanUI.java \ @@ -338,4 +339,4 @@ $(WINDOWS_DIST): $(WINDOWS_FILES) altos-windows.nsi makensis -Oaltos-windows.log "-XOutFile $@" "-DVERSION=$(VERSION)" altos-windows.nsi publish: - scp launch-sites.txt gag.com:public_html \ No newline at end of file + scp launch-sites.txt gag.com:public_html -- cgit v1.2.3 From d5e199c34ff5a02a4c4cc917c3f0eec32eae72a9 Mon Sep 17 00:00:00 2001 From: Mike Beattie Date: Fri, 14 Sep 2012 01:06:59 +1200 Subject: altosui: add missing try/catch Signed-off-by: Mike Beattie --- altosui/AltosUIPreferencesBackend.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'altosui/AltosUIPreferencesBackend.java') diff --git a/altosui/AltosUIPreferencesBackend.java b/altosui/AltosUIPreferencesBackend.java index 69485ba4..1988e0b4 100644 --- a/altosui/AltosUIPreferencesBackend.java +++ b/altosui/AltosUIPreferencesBackend.java @@ -74,7 +74,10 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend { } public String[] keys() { - return _preferences.keys(); + try { + return _preferences.keys(); + } catch (BackingStoreException be) { + } } public void remove(String key) { -- cgit v1.2.3 From 9335a74694df00c4876055e7c98661236646f6e5 Mon Sep 17 00:00:00 2001 From: Mike Beattie Date: Fri, 14 Sep 2012 01:08:53 +1200 Subject: altosui: Add return to try/catch.. duh Signed-off-by: Mike Beattie --- altosui/AltosUIPreferencesBackend.java | 1 + 1 file changed, 1 insertion(+) (limited to 'altosui/AltosUIPreferencesBackend.java') diff --git a/altosui/AltosUIPreferencesBackend.java b/altosui/AltosUIPreferencesBackend.java index 1988e0b4..1c53df84 100644 --- a/altosui/AltosUIPreferencesBackend.java +++ b/altosui/AltosUIPreferencesBackend.java @@ -77,6 +77,7 @@ public class AltosUIPreferencesBackend implements AltosPreferencesBackend { try { return _preferences.keys(); } catch (BackingStoreException be) { + return null; } } -- cgit v1.2.3 From 6e0d672b8a516a604d8ea1abd2bed113c608143f Mon Sep 17 00:00:00 2001 From: Mike Beattie Date: Fri, 14 Sep 2012 12:43:21 +1200 Subject: altosui: remove un-used import Signed-off-by: Mike Beattie --- altosui/AltosUIPreferencesBackend.java | 1 - 1 file changed, 1 deletion(-) (limited to 'altosui/AltosUIPreferencesBackend.java') diff --git a/altosui/AltosUIPreferencesBackend.java b/altosui/AltosUIPreferencesBackend.java index 1c53df84..210dcb8b 100644 --- a/altosui/AltosUIPreferencesBackend.java +++ b/altosui/AltosUIPreferencesBackend.java @@ -17,7 +17,6 @@ package altosui; -import java.text.*; import java.util.prefs.*; import org.altusmetrum.AltosLib.*; -- cgit v1.2.3