SF.net SVN: fclient: [571] trunk/fclient/src/fclient/config.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-07-11 16:32:32
|
Revision: 571
http://fclient.svn.sourceforge.net/fclient/?rev=571&view=rev
Author: jUrner
Date: 2008-07-11 09:32:39 -0700 (Fri, 11 Jul 2008)
Log Message:
-----------
too many changes to list
Modified Paths:
--------------
trunk/fclient/src/fclient/config.py
Modified: trunk/fclient/src/fclient/config.py
===================================================================
--- trunk/fclient/src/fclient/config.py 2008-07-09 08:39:05 UTC (rev 570)
+++ trunk/fclient/src/fclient/config.py 2008-07-11 16:32:39 UTC (rev 571)
@@ -10,7 +10,7 @@
from PyQt4 import QtCore
from .lib import fcp2
-from .lib.qt4ex import settingsbase
+from .lib.qt4ex import settings
#**********************************************************************************
#
#**********************************************************************************
@@ -50,69 +50,42 @@
#**********************************************************************************
#
#**********************************************************************************
-class ConfigSettings(settingsbase.SettingsBase):
+class SettingsBase(settings.SettingsBase):
+ """application wide base class for settings"""
- KEY_SETTINGS = 'ConfigSettings'
- SETTINGS = [
- ('StoreSettingsLocally', ['UPyString', SettingsDir]), # if not None, settings are stored locally in the app folder
- ]
-
-
-
-class Settings(settingsbase.Settings):
- """customized settings class to allow to store settings locally"""
+ _config_settings_ = None
- def __init__(self):
- settingsbase.Settings.__init__(self, FclientOrgName, FclientAppName)
- self.format = QtCore.QSettings.IniFormat
- self.scope = QtCore.QSettings.UserScope
- self.directory = None
-
- self.setStoreLocal(SettingsDir)
-
-
- def setStoreLocal(self, directory=None):
- """should the settings be stored locally?
-
- @param directory: (str) if None, the default location of the os is used to store settings, if a directory
- setings are stored there
- """
- if directory is None:
- self.format = QtCore.QSettings.NativeFormat
- self.scope = QtCore.QSettings.UserScope
+ #TODO: we have to notify all instances on changes. yuk
+ def settingsObject(self):
+ settingsDir = self._config_settings_.value('SettingsDir')
+ if settingsDir:
+ format = QtCore.QSettings.IniFormat
+ scope = QtCore.QSettings.UserScope
+ QtCore.QSettings.setPath(format, scope, settingsDir)
else:
- self.format = QtCore.QSettings.IniFormat
- self.scope = QtCore.QSettings.UserScope
- QtCore.QSettings.setPath(self.format, self.scope, directory)
- self.directory = directory
-
-
- def getObject(self, parent):
- o = QtCore.QSettings(self.format, self.scope, self.orgName, self.appName, parent)
- o.setFallbacksEnabled(False)
- #print o.fileName()
- return o
+ format = QtCore.QSettings.NativeFormat
+ scope = QtCore.QSettings.SystemScope
+ if self._config_settings_.value('SettingsAllUsers'):
+ scope = QtCore.QSettings.UserScope
+ settings = QtCore.QSettings(format, scope, FclientOrgName, FclientAppName, self.parent())
+ settings.setFallbacksEnabled(False)
+ return settings
+
+class Settings(SettingsBase):
+ _key_ = 'ConfigSettings'
+ _settings_ = (
+ ('SettingsDir', 'String', QtCore.QString(SettingsDir)), # if not None, settings are stored locally in the app folder
+ ('SettingsAllUsers', 'Bool', False), # store settings for all users?
+ )
+
+SettingsBase._config_settings_ = Settings()
#**********************************************************************************
#
#**********************************************************************************
-class Config(object):
-
- def __init__(self, parent):
-
- self.fcpClient = fcp2.Client() # global fcp client
- self.settings = Settings() # global settings class
- self.configSettings = ConfigSettings() # settings of the config
-
-
- self.settings.readSettings(None, self.configSettings)
- self.settings.setStoreLocal(directory=self.configSettings['StoreSettingsLocally'])
-
- atexit.register(self.close)
-
- def close(self):
- self.settings.dumpSettings(None, self.configSettings)
-
+fcpClient = fcp2.Client() # global fcp client
+settings = Settings(None) # global settings class
+
#**********************************************************************************
#
#**********************************************************************************
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|