view Preferences.py @ 66:97c4e94f99cf

log when creating a new FeedEntry
author dirk@xanthippe.ping.de
date Thu, 29 Jul 2010 21:37:46 +0200
parents db35ab7753f0
children e8c2730eb444
line wrap: on
line source


from Preference import Preference
import util

START_MAXIMIZED = "START_MAXIMIZED"
HIDE_READ_ENTRIES = "HIDE_READ_FEED_ENTRIES"

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, str(defaultValue))
                self.session.add(pref)
            self.cache[key] = pref
            return pref
        
    def startMaximized(self):
        pref = self._cachedPreference(START_MAXIMIZED, False)
        return util.str2bool(pref.value)

    def setStartMaximized(self, flag):
        pref = self._cachedPreference(START_MAXIMIZED)
        pref.value = util.bool2str(flag)

    def hideReadFeedEntries(self):
        pref = self._cachedPreference(HIDE_READ_ENTRIES, False)
        return util.str2bool(pref.value)
    
    def setHideReadFeedEntries(self, flag):
        pref = self._cachedPreference(HIDE_READ_ENTRIES)
        pref.value = util.bool2str(flag)