X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosUIPreferences.java;h=a28c07b06a9c5202cb71989b99012332eedc587e;hp=010d8e6a8423ac48c0c2a3ae97da782b268dd276;hb=f985ea055d935b10ae9ae8441fe808ba2c13c99e;hpb=708e7937cba52982b91244cf89bfbff46d346135 diff --git a/altosui/AltosUIPreferences.java b/altosui/AltosUIPreferences.java index 010d8e6a..a28c07b0 100644 --- a/altosui/AltosUIPreferences.java +++ b/altosui/AltosUIPreferences.java @@ -15,16 +15,12 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package AltosUI; +package altosui; import java.io.*; import java.util.*; -import java.text.*; -import java.util.prefs.*; -import java.util.concurrent.LinkedBlockingQueue; import java.awt.Component; import javax.swing.*; -import javax.swing.filechooser.FileSystemView; import org.altusmetrum.AltosLib.*; public class AltosUIPreferences extends AltosPreferences { @@ -50,14 +46,16 @@ public class AltosUIPreferences extends AltosPreferences { static boolean serial_debug; public static void init() { + AltosPreferences.init(new AltosUIPreferencesBackend()); + font_listeners = new LinkedList(); - font_size = preferences.getInt(fontSizePreference, Altos.font_size_medium); + font_size = backend.getInt(fontSizePreference, Altos.font_size_medium); Altos.set_fonts(font_size); - look_and_feel = preferences.get(lookAndFeelPreference, UIManager.getSystemLookAndFeelClassName()); + look_and_feel = backend.getString(lookAndFeelPreference, UIManager.getSystemLookAndFeelClassName()); ui_listeners = new LinkedList(); - serial_debug = preferences.getBoolean(serialDebugPreference, false); + serial_debug = backend.getBoolean(serialDebugPreference, false); AltosLink.set_debug(serial_debug); } @@ -102,16 +100,18 @@ public class AltosUIPreferences extends AltosPreferences { } } public static int font_size() { - return font_size; + synchronized (backend) { + return font_size; + } } static void set_fonts() { } public static void set_font_size(int new_font_size) { - font_size = new_font_size; - synchronized (preferences) { - preferences.putInt(fontSizePreference, font_size); + synchronized (backend) { + font_size = new_font_size; + backend.putInt(fontSizePreference, font_size); flush_preferences(); Altos.set_fonts(font_size); for (AltosFontListener l : font_listeners) @@ -120,25 +120,25 @@ public class AltosUIPreferences extends AltosPreferences { } public static void register_font_listener(AltosFontListener l) { - synchronized (preferences) { + synchronized (backend) { font_listeners.add(l); } } public static void unregister_font_listener(AltosFontListener l) { - synchronized (preferences) { + synchronized (backend) { font_listeners.remove(l); } } public static void set_look_and_feel(String new_look_and_feel) { - look_and_feel = new_look_and_feel; try { - UIManager.setLookAndFeel(look_and_feel); + UIManager.setLookAndFeel(new_look_and_feel); } catch (Exception e) { } - synchronized(preferences) { - preferences.put(lookAndFeelPreference, look_and_feel); + synchronized(backend) { + look_and_feel = new_look_and_feel; + backend.putString(lookAndFeelPreference, look_and_feel); flush_preferences(); for (AltosUIListener l : ui_listeners) l.ui_changed(look_and_feel); @@ -146,31 +146,35 @@ public class AltosUIPreferences extends AltosPreferences { } public static String look_and_feel() { - return look_and_feel; + synchronized (backend) { + return look_and_feel; + } } public static void register_ui_listener(AltosUIListener l) { - synchronized(preferences) { + synchronized(backend) { ui_listeners.add(l); } } public static void unregister_ui_listener(AltosUIListener l) { - synchronized (preferences) { + synchronized (backend) { ui_listeners.remove(l); } } public static void set_serial_debug(boolean new_serial_debug) { - serial_debug = new_serial_debug; AltosLink.set_debug(serial_debug); - synchronized (preferences) { - preferences.putBoolean(serialDebugPreference, serial_debug); + synchronized (backend) { + serial_debug = new_serial_debug; + backend.putBoolean(serialDebugPreference, serial_debug); flush_preferences(); } } public static boolean serial_debug() { - return serial_debug; + synchronized (backend) { + return serial_debug; + } } -} \ No newline at end of file +}