X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1806c7b99229f67aba07d971863f9ed5a725ffbe..b2f097f145a0116cc4c9f58f6bcc2006d6dca14c:/lib/python/Components/config.py diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 7137845f..3bbdde10 100644 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -1,12 +1,13 @@ from time import * from Tools.NumericalTextInput import * +from Tools.Directories import * class configFile: def __init__(self): self.changed = 0 self.configElements = { } try: - self.file = open("config") + self.file = open(resolveFilename(SCOPE_CONFIG, "config")) except IOError: print "cannot open config file" return @@ -38,7 +39,7 @@ class configFile: if self.changed == 0: #no changes, so no write to disk needed return - fileHandle = open("config", "w") + fileHandle = open(resolveFilename(SCOPE_CONFIG, "config"), "w") keys = self.configElements.keys() keys.sort() @@ -147,7 +148,7 @@ class configSequenceArg: def get(self, type, args = ()): # configsequencearg.get ("IP") if (type == "IP"): - return (("."), [(1,255),(0,255),(0,255),(0,255)], "") + return (("."), [(0,255),(0,255),(0,255),(0,255)], "") # configsequencearg.get ("MAC") if (type == "MAC"): return ((":"), [(1,255),(1,255),(1,255),(1,255),(1,255),(1,255)], "") @@ -212,13 +213,26 @@ class configSequence: self.markedPos += 1 if key >= config.key["0"] and key <= config.key["9"]: + self.blockLen = [] + for x in self.valueBounds: + self.blockLen.append(len(str(x[1]))) + + pos = 0 + blocknumber = 0 + self.blockLenTotal = [0,] + for x in self.blockLen: + pos += self.blockLen[blocknumber] + self.blockLenTotal.append(pos) + if (pos - 1 >= self.markedPos): + pass + else: + blocknumber += 1 + number = 9 - config.key["9"] + key # length of numberblock - numberLen = len(str(self.valueBounds[0][1])) + numberLen = len(str(self.valueBounds[blocknumber][1])) # position in the block - posinblock = self.markedPos % numberLen - # blocknumber - blocknumber = self.markedPos / numberLen + posinblock = self.markedPos - self.blockLenTotal[blocknumber] oldvalue = self.parent.value[blocknumber] olddec = oldvalue % 10 ** (numberLen - posinblock) - (oldvalue % 10 ** (numberLen - posinblock - 1)) @@ -260,8 +274,11 @@ class configSequence: num += 1 # only mark cursor when we are selected # (this code is heavily ink optimized!) - return ("mtext"[1-selected:], value, [mPos]) - + if (self.parent.enabled == True): + return ("mtext"[1-selected:], value, [mPos]) + else: + return ("text", value) + class configText: # used as first parameter # is the text of a fixed size or is the user able to extend the length of the text