diff options
Diffstat (limited to 'lib/python/Screens')
| -rw-r--r-- | lib/python/Screens/Setup.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/python/Screens/Setup.py b/lib/python/Screens/Setup.py index 48c85c8e..59f0ff57 100644 --- a/lib/python/Screens/Setup.py +++ b/lib/python/Screens/Setup.py @@ -92,7 +92,7 @@ class Setup(ConfigListScreen, Screen): "save": self.keySave, }, -2) - ConfigListScreen.__init__(self, list, session = session) + ConfigListScreen.__init__(self, list, session = session, on_change = self.changedEntry) self.changedEntry() @@ -105,7 +105,7 @@ class Setup(ConfigListScreen, Screen): return self["config"].getCurrent()[0] def getCurrentValue(self): - return str(self["config"].getCurrent()[1].value) + return str(self["config"].getCurrent()[1].getText()) def createSummary(self): return SetupSummary @@ -142,7 +142,14 @@ class Setup(ConfigListScreen, Screen): self.close() def keyCancel(self): - self.session.openWithCallback(self.cancelConfirm, MessageBox, _("Really close without saving settings?")) + is_changed = False + for x in self["config"].list: + is_changed |= x[1].isChanged() + + if is_changed: + self.session.openWithCallback(self.cancelConfirm, MessageBox, _("Really close without saving settings?")) + else: + self.close() def getSetupTitle(id): xmldata = setupdom.childNodes[0].childNodes |
