do not create files when checking for existence...
[enigma2.git] / lib / python / Components / config.py
index b91c449e3b1348771be543178f8c722a7b046e0f..a70f0d47fcf85155c6fd8ac7317a1a6021ac30c2 100644 (file)
@@ -507,6 +507,20 @@ class ConfigIP(ConfigSequence):
        def getHTML(self, id):
                # we definitely don't want leading zeros
                return '.'.join(["%d" % d for d in self.value])
+       
+       def genText(self):
+               value = ""
+               mPos = self.marked_pos
+               num = 0;
+               for i in self._value:
+                       if len(value):
+                               value += self.seperator
+                               if mPos >= len(value) - 1:
+                                       mPos += 1
+                       value += (" " * (len(str(self.limits[num][1]))-len(str(i))))
+                       value += str(i)
+                       num += 1
+               return (value, mPos)
 
 class ConfigMAC(ConfigSequence):
        def __init__(self, default):
@@ -748,6 +762,26 @@ class ConfigText(ConfigElement, NumericalTextInput):
        def unsafeAssign(self, value):
                self.value = str(value)
 
+class ConfigPassword(ConfigText):
+       def __init__(self, default = "", fixed_size = False, visible_width = False, censor = "*"):
+               ConfigText.__init__(self, default = default, fixed_size = fixed_size, visible_width = visible_width)
+               self.censor_char = censor
+               self.hidden = True
+
+       def getMulti(self, selected):
+               mtext, text, mark = ConfigText.getMulti(self, selected)
+               if self.hidden:
+                       text = len(text) * self.censor_char
+               return (mtext, text, mark)
+                       
+       def onSelect(self, session):
+               ConfigText.onSelect(self, session)
+               self.hidden = False
+
+       def onDeselect(self, session):
+               ConfigText.onDeselect(self, session)
+               self.hidden = True
+
 class ConfigNumber(ConfigText):
        def __init__(self, default = 0):
                ConfigText.__init__(self, str(default), fixed_size = False)