diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-01-26 21:28:26 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-01-26 21:28:26 +0000 |
| commit | 6c7144777d4e9001792e2843e9891f861b45dab9 (patch) | |
| tree | 2ca60bf11c3d624b74c209dc2ff8d5f3e7f5c522 /lib/python/Components/config.py | |
| parent | 435dfb5a2e49ec3957f05359e883f3246481fdf6 (diff) | |
| download | enigma2-6c7144777d4e9001792e2843e9891f861b45dab9.tar.gz enigma2-6c7144777d4e9001792e2843e9891f861b45dab9.zip | |
fix ugly config bug
Diffstat (limited to 'lib/python/Components/config.py')
| -rw-r--r-- | lib/python/Components/config.py | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 212c92ee..c06d3b72 100644 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -29,11 +29,16 @@ class configFile: self.configElements[line[:x]] = line[x + 1:-1] def getKey(self, key): - return self.configElements[key] + if self.configElements.has_key(key): + return self.configElements[key] + return None - def setKey(self, key, value): + def setKey(self, key, value, isDefaultKey=False): self.changed = 1 - self.configElements[key] = value + if isDefaultKey and self.configElements.has_key(key): + del self.configElements[key] + else: + self.configElements[key] = value def save(self): if self.changed == 0: #no changes, so no write to disk needed @@ -550,8 +555,12 @@ class configElement: defaultValue = self.getIndexbyEntry(self.defaultValue) else: defaultValue = self.defaultValue - if (defaultValue != self.value) or (self.saveDefaults == True): - configfile.setKey(self.configPath, self.datatoFile(self.controlType,self.value)) + if self.value != defaultValue or self.saveDefaults: + configfile.setKey(self.configPath, self.datatoFile(self.controlType, self.value)) + else: + oldValue = configfile.getKey(self.configPath) + if oldValue is not None and oldValue != defaultValue: + configfile.setKey(self.configPath, self.datatoFile(self.controlType, self.value), True) class configElement_nonSave(configElement): def __init__(self, configPath, control, defaultValue, vals): |
