aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/config.py
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-03-31 15:51:31 +0200
committerFelix Domke <tmbinc@elitedvb.net>2009-03-31 15:51:31 +0200
commitbce53d4a67d1655a496eebe5912c8573e880114e (patch)
tree9b410fbcaf0f4a22f1cf3489b635e3e94e47a6d8 /lib/python/Components/config.py
parent166db5a9c9222c82939eede51d964c706039ebe8 (diff)
parent54475ce18e43482b2ec1a150f7fa07c3464ec6d2 (diff)
downloadenigma2-bce53d4a67d1655a496eebe5912c8573e880114e.tar.gz
enigma2-bce53d4a67d1655a496eebe5912c8573e880114e.zip
Merge commit 'origin/master' into tmbinc/FixTimingBugs
Diffstat (limited to 'lib/python/Components/config.py')
-rwxr-xr-xlib/python/Components/config.py30
1 files changed, 22 insertions, 8 deletions
diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py
index a6d34152..c810e14b 100755
--- a/lib/python/Components/config.py
+++ b/lib/python/Components/config.py
@@ -279,8 +279,8 @@ class ConfigSelection(ConfigElement):
if default is None:
default = self.choices.default()
+ self._descr = None
self.default = self._value = self.last_value = default
- self.changed()
def setChoices(self, choices, default = None):
self.choices = choicesList(choices)
@@ -296,6 +296,7 @@ class ConfigSelection(ConfigElement):
self._value = value
else:
self._value = self.default
+ self._descr = None
self.changed()
def tostring(self, val):
@@ -307,7 +308,7 @@ class ConfigSelection(ConfigElement):
def setCurrentText(self, text):
i = self.choices.index(self.value)
self.choices[i] = text
- self.description[text] = text
+ self._descr = self.description[text] = text
self._value = text
value = property(getValue, setValue)
@@ -336,13 +337,18 @@ class ConfigSelection(ConfigElement):
self.value = self.choices[(i + 1) % nchoices]
def getText(self):
- descr = self.description[self.value]
+ if self._descr is not None:
+ return self._descr
+ descr = self._descr = self.description[self.value]
if descr:
return _(descr)
return descr
def getMulti(self, selected):
- descr = self.description[self.value]
+ if self._descr is not None:
+ descr = self._descr
+ else:
+ descr = self._descr = self.description[self.value]
if descr:
return ("text", _(descr))
return ("text", descr)
@@ -378,7 +384,7 @@ class ConfigBoolean(ConfigElement):
self.value = self.last_value = self.default = default
def handleKey(self, key):
- if key in [KEY_LEFT, KEY_RIGHT]:
+ if key in (KEY_LEFT, KEY_RIGHT):
self.value = not self.value
elif key == KEY_HOME:
self.value = False
@@ -1022,6 +1028,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")
@@ -1180,7 +1193,7 @@ class ConfigSet(ConfigElement):
self.pos = -1
else:
self.pos += 1
- elif key in [KEY_HOME, KEY_END]:
+ elif key in (KEY_HOME, KEY_END):
self.pos = -1
def genString(self, lst):
@@ -1345,7 +1358,7 @@ class ConfigLocations(ConfigElement):
self.pos += 1
if self.pos >= len(self.value):
self.pos = -1
- elif key in [KEY_HOME, KEY_END]:
+ elif key in (KEY_HOME, KEY_END):
self.pos = -1
def getText(self):
@@ -1607,8 +1620,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):