dabo Commit
Revision 2936
Date: 2007-03-19 14:11:57 -0700 (Mon, 19 Mar 2007)
Author: Ed
Trac: http://svn.dabodev.com/trac/dabo/changeset/2936
Changed:
U trunk/dabo/dObject.py
U trunk/dabo/dUserSettingProvider.py
Log:
Finally got around to fixing the discrepancy between the PreferenceManager and
the UserSettingProvider objects. Previously, setting a preference and a user
setting were independent, even though they accessed the same data.
This fixes the old Tracker Issue #0298.
Diff:
Modified: trunk/dabo/dObject.py
===================================================================
--- trunk/dabo/dObject.py 2007-03-19 19:47:01 UTC (rev 2935)
+++ trunk/dabo/dObject.py 2007-03-19 21:11:57 UTC (rev 2936)
@@ -324,7 +324,13 @@
try:
ret = self._preferenceManager
except AttributeError:
- ret = self._preferenceManager =
dPref(key=self.BasePrefKey)
+ ret = None
+ if self.Application is not self:
+ try:
+ ret = self._preferenceManager =
self.Application.PreferenceManager
+ except AttributeError: pass
+ if ret is None:
+ ret = self._preferenceManager =
dPref(key=self.BasePrefKey)
return ret
def _setPreferenceManager(self, val):
Modified: trunk/dabo/dUserSettingProvider.py
===================================================================
--- trunk/dabo/dUserSettingProvider.py 2007-03-19 19:47:01 UTC (rev 2935)
+++ trunk/dabo/dUserSettingProvider.py 2007-03-19 21:11:57 UTC (rev 2936)
@@ -1,14 +1,9 @@
import dabo
-from dabo.dPref import dPref
+from dabo.dObject import dObject
from dabo.dLocalize import _
-class dUserSettingProvider(dPref):
- def __init__(self, *args, **kwargs):
- kwargs["key"] = dabo.dAppRef.BasePrefKey
- super(dUserSettingProvider, self).__init__(*args, **kwargs)
-
-
+class dUserSettingProvider(dObject):
def getUserSettingKeys(self, spec):
"""Return a list of all keys underneath <spec>.
@@ -20,14 +15,14 @@
The return value would be ["pkm", "egl"]
"""
- return self.getPrefKeys(spec.lower())
+ return self.PreferenceManager.getPrefKeys(spec.lower())
def getUserSetting(self, item, default=None):
""" Return the value of the user settings table that
corresponds to the preference key passed.
"""
- prf = self
+ prf = self.PreferenceManager
parsedItem = item.lower().split(".")
while len(parsedItem) > 1:
prf = prf.__getattr__(parsedItem.pop(0))
@@ -41,7 +36,7 @@
def setUserSetting(self, item, val):
"""Persist a value to the user settings file."""
- prf = self
+ prf = self.PreferenceManager
parsedItem = item.lower().split(".")
while len(parsedItem) > 1:
prf = prf.__getattr__(parsedItem.pop(0))
@@ -57,7 +52,7 @@
def deleteUserSetting(self, item):
"""Removes the specified item from the settings file."""
- self.deletePref(item.lower(), False)
+ self.PreferenceManager.deletePref(item.lower(), False)
def deleteAllUserSettings(self, spec):
@@ -65,5 +60,5 @@
See the docs for getUserSettingKeys() for an explanation
on key matching.
"""
- self.deletePref(spec.lower(), True)
+ self.PreferenceManager.deletePref(spec.lower(), True)
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev