X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e68a1617b7c1efbedf8b28309943dd7669daaad0..b6a2eec01cc6629134b470bea09198bcfe9385c3:/lib/python/Components/config.py diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 79e99b03..32e86272 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -281,13 +281,13 @@ class ConfigSelection(ConfigElement): self._descr = None self.default = self._value = self.last_value = default - self.changed() def setChoices(self, choices, default = None): self.choices = choicesList(choices) if default is None: default = self.choices.default() + self.default = default if self.value not in self.choices: self.value = default @@ -913,13 +913,14 @@ class ConfigText(ConfigElement, NumericalTextInput): self.timeout() self.overwrite = not self.overwrite elif key == KEY_ASCII: - self.timeout() - newChar = unichr(getPrevAsciiCode()) - if self.allmarked: - self.deleteAllChars() - self.allmarked = False - self.insertChar(newChar, self.marked_pos, False) - self.marked_pos += 1 + self.timeout() + newChar = unichr(getPrevAsciiCode()) + if not self.useableChars or newChar in self.useableChars: + if self.allmarked: + self.deleteAllChars() + self.allmarked = False + self.insertChar(newChar, self.marked_pos, False) + self.marked_pos += 1 elif key in KEY_NUMBERS: owr = self.lastKey == getKeyNumber(key) newChar = self.getKey(getKeyNumber(key)) @@ -1029,6 +1030,13 @@ class ConfigNumber(ConfigText): value = property(getValue, setValue) _value = property(getValue, setValue) + def isChanged(self): + sv = self.saved_value + strv = self.tostring(self.value) + if sv is None and strv == self.default: + return False + return strv != sv + def conform(self): pos = len(self.text) - self.marked_pos self.text = self.text.lstrip("0") @@ -1614,8 +1622,9 @@ class Config(ConfigSubsection): self.setSavedValue(tree["config"]) def saveToFile(self, filename): + text = self.pickle() f = open(filename, "w") - f.write(self.pickle()) + f.write(text) f.close() def loadFromFile(self, filename):