From: Ronny Strutz Date: Fri, 2 Sep 2005 13:39:12 +0000 (+0000) Subject: add digitCount to init X-Git-Tag: 2.6.0~5600 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/b2c9f6632fac847577a52e23aa56a1f0816b1927 add digitCount to init add some code for navigate in ConfigSequence -pls check this, actual its more an ip field and not very flexible -perhaps nav in field is better done in C++? --- diff --git a/lib/python/Components/Network.py b/lib/python/Components/Network.py index ab89d3c6..3740e51b 100644 --- a/lib/python/Components/Network.py +++ b/lib/python/Components/Network.py @@ -23,10 +23,10 @@ class Network: def InitNetwork(): config.network = ConfigSubsection() - config.network.ip = configElement("config.network.ip", configSequence, [192,168,1,45], (".")) - config.network.gateway = configElement("config.network.gateway", configSequence, [192,168,1,3], (".")) - config.network.dns = configElement("config.network.dns", configSequence, [192,168,1,3], (".")) - config.network.mac = configElement("config.network.mac", configSequence, [00,11,22,33,44,55], (":")) + config.network.ip = configElement("config.network.ip", configSequence, [192,168,1,45], (("."), 3)) + config.network.gateway = configElement("config.network.gateway", configSequence, [192,168,1,3], (("."), 3)) + config.network.dns = configElement("config.network.dns", configSequence, [192,168,1,3], (("."), 3)) + config.network.mac = configElement("config.network.mac", configSequence, [00,11,22,33,44,55], ((":"), 2)) iNetwork = Network() diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 237e0bf8..e8376385 100644 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -81,15 +81,17 @@ class configBoolean: class configSequence: def __init__(self, parent): self.parent = parent + self.markedPos = 0 def checkValues(self): - pass -# if self.parent.value < 0: -# self.parent.value = 0 -# -# if(self.parent.value >= (len(self.parent.vals) - 1)): -# self.parent.value = len(self.parent.vals) - 1 -# + maxPos = len(self.parent.value) * self.parent.vals[1] + print maxPos + + if self.markedPos >= maxPos: + self.markedPos = maxPos - 1 + if self.markedPos < 0: + self.markedPos = 0 + def cancel(self): self.parent.reload() @@ -97,21 +99,39 @@ class configSequence: self.parent.save() def handleKey(self, key): + #this will no change anything on the value itself + #so we can handle it here in gui element if key == config.prevElement: - self.parent.value = self.parent.value - 1 + self.markedPos -= 1 if key == config.nextElement: - self.parent.value = self.parent.value + 1 + self.markedPos += 1 self.checkValues() + + print "markPos:", + print self.markedPos + #FIXME: dont call when press left/right self.parent.change() def __call__(self): #needed by configlist + print "__CALL__" value = "" + mPos = self.markedPos + print mPos for i in self.parent.value: - if value != "": - value += self.parent.vals - value += str(i) + if value != "": #fixme no heading separator possible + value += self.parent.vals[0] + if mPos >= len(value) - 1: + mPos += 1 + + diff = self.parent.vals[1] - len(str(i)) + if diff > 0: + #how about alignment? + value += " "[0:diff] #how is this done correct? + value += str(i) + + value = value[0:mPos] + "_" + value[mPos + 1:] return ("text", value) class configValue: @@ -172,7 +192,7 @@ class configElement: return int(data); elif control == configSequence: list = [ ] - part = data.split(self.vals) + part = data.split(self.vals[0]) for x in part: list.append(int(x)) return list @@ -188,7 +208,7 @@ class configElement: value = "" for i in data: if value !="": - value += self.vals + value += self.vals[0] value += str(i) return value else: