lib/python/Components/config.py: revert previous change because of side effects
[vuplus_dvbapp] / lib / python / Components / config.py
index 876e3a3..d7506e3 100755 (executable)
@@ -29,6 +29,7 @@ from time import localtime, strftime
 class ConfigElement(object):
        def __init__(self):
                self.saved_value = None
+               self.save_forced = False
                self.last_value = None
                self.save_disabled = False
                self.__notifiers = None
@@ -83,7 +84,7 @@ class ConfigElement(object):
 
        # you need to override this if str(self.value) doesn't work
        def save(self):
-               if self.save_disabled or self.value == self.default:
+               if self.save_disabled or (self.value == self.default and not self.save_forced):
                        self.saved_value = None
                else:
                        self.saved_value = self.tostring(self.value)
@@ -1034,13 +1035,13 @@ class ConfigSelectionNumber(ConfigSelection):
                        step += stepwidth
                
                ConfigSelection.__init__(self, choices, default)
-               
+
        def getValue(self):
-               return int(self.text)
+               return int(ConfigSelection.getValue(self))
 
        def setValue(self, val):
-               self.text = str(val)
-               
+               ConfigSelection.setValue(self, str(val))
+
        def handleKey(self, key):
                if not self.wraparound:
                        if key == KEY_RIGHT:
@@ -1050,8 +1051,6 @@ class ConfigSelectionNumber(ConfigSelection):
                                if self.choices.index(self.value) == 0:
                                        return
                ConfigSelection.handleKey(self, key)
-                               
-                               
 
 class ConfigNumber(ConfigText):
        def __init__(self, default = 0):
@@ -1140,6 +1139,9 @@ class ConfigDirectory(ConfigText):
                else:
                        return ConfigText.getMulti(self, selected)
 
+       def onSelect(self, session):
+               self.allmarked = (self.value != "")
+
 # a slider.
 class ConfigSlider(ConfigElement):
        def __init__(self, default = 0, increment = 1, limits = (0, 100)):