Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 from python_qt_binding.QtCore import QObject, Slot
00032
00033
00034 class Settings(QObject):
00035
00036 """Storage of key-value data with a QSettings-like interface."""
00037
00038 def __init__(self, settings_proxy, group):
00039 super(Settings, self).__init__()
00040 self.setObjectName('Settings')
00041
00042 self._settings_proxy = settings_proxy
00043 self._group = group
00044
00045 def get_settings(self, group):
00046 prefix = self._group
00047 if prefix != '':
00048 prefix += '/'
00049 return Settings(self._settings_proxy, prefix + group)
00050
00051 def all_keys(self):
00052 return self._settings_proxy.all_keys(self._group)
00053
00054
00055
00056
00057
00058 def child_groups(self):
00059 return self._settings_proxy.child_groups(self._group)
00060
00061 def child_keys(self):
00062 return self._settings_proxy.child_keys(self._group)
00063
00064 @Slot(str, result=bool)
00065 def contains(self, key):
00066 return self._settings_proxy.contains(self._group, key)
00067
00068
00069
00070 @Slot(str)
00071 def remove(self, key):
00072 self._settings_proxy.remove(self._group, key)
00073
00074
00075
00076 @Slot(str, 'QVariant')
00077 def set_value(self, key, value):
00078
00079 if value is None:
00080 value = '__NoneType__'
00081 self._settings_proxy.set_value(self._group, key, value)
00082
00083 @Slot(str, 'QVariant', result='QVariant')
00084 def value(self, key, default_value=None):
00085
00086 if default_value is None:
00087 default_value = '__NoneType__'
00088 value = self._settings_proxy.value(self._group, key, default_value)
00089 if value == '__NoneType__':
00090 value = None
00091 return value