from Screen import Screen
+from MessageBox import MessageBox
from Components.ActionMap import NumberActionMap
from Components.config import config, KEY_LEFT, KEY_RIGHT, KEY_OK
from Components.ConfigList import ConfigList, ConfigListScreen
{
"cancel": self.keyCancel,
"save": self.keySave,
- }, -1)
+ }, -2)
- ConfigListScreen.__init__(self, list, session = session)
+ ConfigListScreen.__init__(self, list, session = session, on_change = self.changedEntry)
self.changedEntry()
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
for x in self["config"].list:
x[1].save()
self.close()
+
+ def cancelConfirm(self, result):
+ if not result:
+ return
- def keyCancel(self):
print "cancel requested"
+
for x in self["config"].list:
x[1].cancel()
self.close()
+
+ def keyCancel(self):
+ 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
for x in elementsWithTag(xmldata, "setup"):