From cbb9c1f4c0aa414385e0f3bdfeca32d7b5741515 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 24 Dec 2015 18:33:04 -0800 Subject: Preferences: Always use NSUserDefaults to get & set key This fixes the bug mentioned in 8778928a0989ea938fb06f0dd4c6639a6f9148ca, allowing us to change the preferred activation key and have it work immediately without first having to relaunch RoboFont. --- preferences.py | 21 ++++++--------------- preferences_window.py | 1 - 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/preferences.py b/preferences.py index 637ad64..36f7126 100644 --- a/preferences.py +++ b/preferences.py @@ -6,26 +6,17 @@ class Preferences(object): DEFAULT_ACTIVATION_KEY = 'e' PREFERENCES_DOMAIN = 'com.teddywing.EqualizeSidebearings' - def __init__(self): - self.load() - def preference_key(self, key): return '{0}.{1}'.format(self.PREFERENCES_DOMAIN, key) - def load(self): - self._activation_key = getExtensionDefault( - self.preference_key('activation_key'), - self.DEFAULT_ACTIVATION_KEY) - - def save(self): - setExtensionDefault( - self.preference_key('activation_key'), - self.activation_key) - @property def activation_key(self): - return self._activation_key + return getExtensionDefault( + self.preference_key('activation_key'), + self.DEFAULT_ACTIVATION_KEY) @activation_key.setter def activation_key(self, value): - self._activation_key = value + setExtensionDefault( + self.preference_key('activation_key'), + value) diff --git a/preferences_window.py b/preferences_window.py index 11d3b52..c7b479b 100644 --- a/preferences_window.py +++ b/preferences_window.py @@ -20,7 +20,6 @@ class PreferencesWindow(object): def edit_text_callback(self, sender): self.preferences.activation_key = sender.get() - self.preferences.save() PreferencesWindow() -- cgit v1.2.3