git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit 'origin/master' into tmbinc/FixTimingBugs
[enigma2.git]
/
lib
/
python
/
Components
/
config.py
diff --git
a/lib/python/Components/config.py
b/lib/python/Components/config.py
index c999f2aaeb9c13718de7aa35dbb14d19fd0abf32..c810e14beb7de3dfa49bd2a29db4ef3ff3ede541 100755
(executable)
--- 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()
if default is None:
default = self.choices.default()
+ self._descr = None
self.default = self._value = self.last_value = default
self.default = self._value = self.last_value = default
- self.changed()
def setChoices(self, choices, default = None):
self.choices = choicesList(choices)
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._value = value
else:
self._value = self.default
+ self._descr = None
self.changed()
def tostring(self, val):
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
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)
self._value = text
value = property(getValue, setValue)
@@
-336,13
+337,18
@@
class ConfigSelection(ConfigElement):
self.value = self.choices[(i + 1) % nchoices]
def getText(self):
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):
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)
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):
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
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)
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")
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
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):
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
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):
self.pos = -1
def getText(self):
@@
-1385,7
+1398,7
@@
class ConfigLocations(ConfigElement):
# nothing.
class ConfigNothing(ConfigSelection):
def __init__(self):
# nothing.
class ConfigNothing(ConfigSelection):
def __init__(self):
- ConfigSelection.__init__(self, choices = [
""
])
+ ConfigSelection.__init__(self, choices = [
("","")
])
# until here, 'saved_value' always had to be a *string*.
# now, in ConfigSubsection, and only there, saved_value
# until here, 'saved_value' always had to be a *string*.
# now, in ConfigSubsection, and only there, saved_value
@@
-1426,8
+1439,8
@@
class ConfigSubList(list, object):
def getSavedValue(self):
res = { }
def getSavedValue(self):
res = { }
- for i
in range(len(self)
):
- sv =
self[i]
.saved_value
+ for i
, val in enumerate(self
):
+ sv =
val
.saved_value
if sv is not None:
res[str(i)] = sv
return res
if sv is not None:
res[str(i)] = sv
return res
@@
-1448,7
+1461,7
@@
class ConfigSubList(list, object):
item.load()
def dict(self):
item.load()
def dict(self):
- return dict([(str(index), value) for index, value in
self.enumerate(
)])
+ return dict([(str(index), value) for index, value in
enumerate(self
)])
# same as ConfigSubList, just as a dictionary.
# care must be taken that the 'key' has a proper
# same as ConfigSubList, just as a dictionary.
# care must be taken that the 'key' has a proper
@@
-1607,8
+1620,9
@@
class Config(ConfigSubsection):
self.setSavedValue(tree["config"])
def saveToFile(self, filename):
self.setSavedValue(tree["config"])
def saveToFile(self, filename):
+ text = self.pickle()
f = open(filename, "w")
f = open(filename, "w")
- f.write(
self.pickle()
)
+ f.write(
text
)
f.close()
def loadFromFile(self, filename):
f.close()
def loadFromFile(self, filename):