def getValue(self):
return self._value
+ def setCurrentText(self, text):
+ i = self.choices.index(self.value)
+ del self.description[self.choices[i]]
+ self.choices[i] = text
+ self.description[text] = text
+ self._value = text
+
value = property(getValue, setValue)
def getIndex(self):
ConfigSequence.__init__(self, seperator = ":", limits = [(0,23),(0,59)], default = [t.tm_hour, t.tm_min])
class ConfigInteger(ConfigSequence):
- def __init__(self, default, limits):
+ def __init__(self, default, limits = (0, 10000000000)):
ConfigSequence.__init__(self, seperator = ":", limits = [limits], default = default)
# you need to override this to do input validation
# we inherit from ConfigSubsection, so ...
#object.__setattr__(self, "saved_value", tree["config"])
- self.setSavedValue(tree["config"])
+ if "config" in tree:
+ self.setSavedValue(tree["config"])
def saveToFile(self, filename):
f = open(filename, "w")
config.misc = ConfigSubsection()
class ConfigFile:
- CONFIG_FILE = resolveFilename(SCOPE_CONFIG, "config2")
+ CONFIG_FILE = resolveFilename(SCOPE_CONFIG, "settings")
def load(self):
try:
config.save()
config.saveToFile(self.CONFIG_FILE)
+ def __resolveValue(self, pickles, cmap):
+ if cmap.has_key(pickles[0]):
+ if len(pickles) > 1:
+ return self.__resolveValue(pickles[1:], cmap[pickles[0]].content.items)
+ else:
+ return str(cmap[pickles[0]].value)
+ return None
+
def getResolvedKey(self, key):
- return None # FIXME
+ names = key.split('.')
+ if len(names) > 1:
+ if names[0] == "config":
+ ret=self.__resolveValue(names[1:], config.content.items)
+ if ret and len(ret):
+ return ret
+ print "getResolvedKey", key, "failed !! (Typo??)"
+ return ""
def NoSave(element):
element.disableSave()