t = time.localtime(default)
ConfigSequence.__init__(self, seperator = ":", limits = [(0,23),(0,59)], default = [t.tm_hour, t.tm_min])
+ def increment(self):
+ # Check if Minutes maxed out
+ if self._value[1] == 59:
+ # Check if Hours not maxed out
+ if self._value[0] < 23:
+ # Increment Hour, reset Minutes to 0
+ self._value[0] += 1
+ self._value[1] = 0
+ else:
+ # Increment Minutes
+ self._value[1] += 1
+ # Trigger change
+ self.changed()
+
+ def decrement(self):
+ # Check if Minutes is minimum
+ if self._value[1] == 0:
+ # Check if Hour is greater than 0
+ if self._value[0] > 0:
+ # Decrement Hour, set Minutes to 59
+ self._value[0] -= 1
+ self._value[1] = 59
+ else:
+ # Decrement Minutes
+ self._value[1] -= 1
+ # Trigger change
+ self.changed()
+
class ConfigInteger(ConfigSequence):
def __init__(self, default, limits = (0, 9999999999)):
ConfigSequence.__init__(self, seperator = ":", limits = [limits], default = default)
def getValue(self):
return self.text.encode("utf-8")
-
+
def setValue(self, val):
try:
self.text = val.decode("utf-8")
except UnicodeDecodeError:
- self.text = val
+ self.text = val.decode("utf-8", "ignore")
print "Broken UTF8!"
value = property(getValue, setValue)
self.marked_pos = 0
self.offset = 0
+class ConfigSearchText(ConfigText):
+ def __init__(self, default = "", fixed_size = False, visible_width = False):
+ ConfigText.__init__(self, default = default, fixed_size = fixed_size, visible_width = visible_width)
+ NumericalTextInput.__init__(self, nextFunc = self.nextFunc, handleTimeout = False, search = True)
+
+class ConfigDirectory(ConfigText):
+ def __init__(self, default="", visible_width=60):
+ ConfigText.__init__(self, default, fixed_size = True, visible_width = visible_width)
+ def handleKey(self, key):
+ pass
+ def getValue(self):
+ if self.text == "":
+ return None
+ else:
+ return ConfigText.getValue(self)
+ def setValue(self, val):
+ if val == None:
+ val = ""
+ ConfigText.setValue(self, val)
+ def getMulti(self, selected):
+ if self.text == "":
+ return ("mtext"[1-selected:], _("List of Storage Devices"), range(0))
+ else:
+ return ConfigText.getMulti(self, selected)
+
# a slider.
class ConfigSlider(ConfigElement):
def __init__(self, default = 0, increment = 1, limits = (0, 100)):