def cancel(self):
self.load()
+ def isChanged(self):
+ if self.saved_value is None and self.value == self.default:
+ return False
+ return self.tostring(self.value) != self.saved_value
+
def changed(self):
for x in self.notifiers:
x(self)
elif key == KEY_RIGHT:
self.value = self.choices[(i + 1) % nchoices]
+ def getText(self):
+ descr = self.description[self.value]
+ if len(descr):
+ return _(descr)
+ return descr
+
def getMulti(self, selected):
- return ("text", self.description[self.value])
+ descr = self.description[self.value]
+ if len(descr):
+ return ("text", _(descr))
+ return ("text", descr)
# HTML
def getHTML(self, id):
if key in [KEY_LEFT, KEY_RIGHT]:
self.value = not self.value
+ def getText(self):
+ descr = self.descriptions[self.value]
+ if len(descr):
+ return _(descr)
+ return descr
+
def getMulti(self, selected):
- return ("text", _(self.descriptions[self.value]))
+ descr = self.descriptions[self.value]
+ if len(descr):
+ return ("text", _(descr))
+ return ("text", descr)
- def tostring(self, value):
+ def tostring(self, value):
if not value:
return "false"
else:
if key == KEY_RIGHT:
self.value = self.value + self.increment
+ def getText(self):
+ return time.strftime(self.formatstring, time.localtime(self.value))
+
def getMulti(self, selected):
return ("text", time.strftime(self.formatstring, time.localtime(self.value)))
self.validate()
self.changed()
-
- def getMulti(self, selected):
+
+ def genText(self):
value = ""
mPos = self.marked_pos
num = 0;
else:
value += (self.censor_char * len(str(self.limits[num][1])))
num += 1
-
+ return (value, mPos)
+
+ def getText(self):
+ (value, mPos) = self.genText()
+ return value
+
+ def getMulti(self, selected):
+ (value, mPos) = self.genText()
# only mark cursor when we are selected
# (this code is heavily ink optimized!)
if self.enabled:
value = property(getValue, setValue)
_value = property(getValue, setValue)
+ def getText(self):
+ return self.value
+
def getMulti(self, selected):
return ("mtext"[1-selected:], self.value, [self.marked_pos])
self.checkValues()
self.changed()
+ def getText(self):
+ return "%d / %d" % (self.value, self.max)
+
def getMulti(self, selected):
self.checkValues()
return ("slider", self.value, self.max)
config.misc = ConfigSubsection()
class ConfigFile:
- CONFIG_FILE = resolveFilename(SCOPE_CONFIG, "config2")
+ CONFIG_FILE = resolveFilename(SCOPE_CONFIG, "settings")
def load(self):
try:
print "unable to load config (%s), assuming defaults..." % str(e)
def save(self):
- config.save()
+# 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()
configfile.load()
-def getConfigListEntry(desc, config):
- return (desc, config)
+def getConfigListEntry(*args):
+ assert len(args) > 1, "getConfigListEntry needs a minimum of two arguments (descr, configElement)"
+ return args
#def _(x):
# return x