Mercurial > hg > Feedworm
diff Preferences.py @ 44:be990ac6e478
saving the preference "start maximized" from GUI implemented
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Fri, 14 May 2010 15:02:15 +0200 |
parents | 12ed8b5fa08c |
children | 03358c113170 |
line wrap: on
line diff
--- a/Preferences.py Fri May 14 08:31:46 2010 +0200 +++ b/Preferences.py Fri May 14 15:02:15 2010 +0200 @@ -7,10 +7,27 @@ class Preferences(object): def __init__(self, session): self.session = session + self.cache = {} + + def _cachedPreference(self, key, defaultValue=None): + if self.cache.has_key(key): + return self.cache[key] + else: + pref = Preference.forKey(key, self.session) + if pref is None: + pref = Preference(key, defaultValue) + self.session.add(pref) + self.cache[key] = pref + return pref def startMaximized(self): - value = Preference.valueForKey(START_MAXIMIZED, self.session) - if value is not None: - return util.str2bool(value) - else: - return False + pref = self._cachedPreference(START_MAXIMIZED, False) + return util.str2bool(pref.value) + + def setStartMaximized(self, flag): + """ Convert flag to boolean so that a defined value is stored in the DB """ + boolValue = False + if flag: + boolValue = True + pref = self._cachedPreference(START_MAXIMIZED) + pref.value = boolValue