X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/55526774d926e19f8e34e94262a9fc939ddf91fc..0fa0646e9d874dc905a26551557902b2fc12d79e:/lib/python/Components/config.py diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 4cc40633..e249caf4 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") @@ -1486,7 +1494,7 @@ class ConfigSubDict(dict, object): self.stored_values = dict(values) for (key, val) in self.items(): if str(key) in self.stored_values: - val = self.stored_values[str(key)] + val.saved_value = self.stored_values[str(key)] saved_value = property(getSavedValue, setSavedValue)