X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/727978090dcb7c35ec9937c9f69d2ae58cabf244..bce291362914ca2b1101ec3503ccc89c001e7bcb:/lib/python/Screens/Wizard.py diff --git a/lib/python/Screens/Wizard.py b/lib/python/Screens/Wizard.py index f018c3ce..c4fcb10a 100644 --- a/lib/python/Screens/Wizard.py +++ b/lib/python/Screens/Wizard.py @@ -46,6 +46,9 @@ class WizardSummary(Screen): self["text"].setText(text) class Wizard(Screen, HelpableScreen): + def createSummary(self): + print "WizardCreateSummary" + return WizardSummary class parseWizard(ContentHandler): def __init__(self, wizard): @@ -54,9 +57,7 @@ class Wizard(Screen, HelpableScreen): self.currContent = "" self.lastStep = 0 - def createSummary(self): - print "WizardCreateSummary" - return WizardSummary + def startElement(self, name, attrs): print "startElement", name @@ -187,7 +188,9 @@ class Wizard(Screen, HelpableScreen): self.lcdCallbacks = [] - self["actions"] = NumberActionMap(["WizardActions", "NumberActions"], + self.disableKeys = False + + self["actions"] = NumberActionMap(["WizardActions", "NumberActions", "ColorActions"], { "ok": self.ok, "back": self.back, @@ -195,6 +198,10 @@ class Wizard(Screen, HelpableScreen): "right": self.right, "up": self.up, "down": self.down, + "red": self.red, + "green": self.green, + "yellow": self.yellow, + "blue":self.blue, "1": self.keyNumberGlobal, "2": self.keyNumberGlobal, "3": self.keyNumberGlobal, @@ -206,11 +213,29 @@ class Wizard(Screen, HelpableScreen): "9": self.keyNumberGlobal, "0": self.keyNumberGlobal }, -1) + + def red(self): + print "red" + pass + def green(self): + print "green" + pass + + def yellow(self): + print "yellow" + pass + + def blue(self): + print "blue" + pass + def setLCDTextCallback(self, callback): self.lcdCallbacks.append(callback) def back(self): + if self.disableKeys: + return print "getting back..." print "stepHistory:", self.stepHistory if len(self.stepHistory) > 1: @@ -270,6 +295,8 @@ class Wizard(Screen, HelpableScreen): def ok(self): print "OK" + if self.disableKeys: + return currStep = self.currStep if self.showConfig: @@ -310,7 +337,7 @@ class Wizard(Screen, HelpableScreen): self["list"].selectPrevious() if self.wizard[self.currStep].has_key("onselect"): print "current:", self["list"].current - self.selection = self["list"].current[1] + self.selection = self["list"].current[-1] #self.selection = self.wizard[self.currStep]["evaluatedlist"][self["list"].l.getCurrentSelectionIndex()][1] exec("self." + self.wizard[self.currStep]["onselect"] + "()") print "up" @@ -326,7 +353,7 @@ class Wizard(Screen, HelpableScreen): print "current:", self["list"].current #self.selection = self.wizard[self.currStep]["evaluatedlist"][self["list"].l.getCurrentSelectionIndex()][1] #exec("self." + self.wizard[self.currStep]["onselect"] + "()") - self.selection = self["list"].current[1] + self.selection = self["list"].current[-1] #self.selection = self.wizard[self.currStep]["evaluatedlist"][self["list"].l.getCurrentSelectionIndex()][1] exec("self." + self.wizard[self.currStep]["onselect"] + "()") print "down" @@ -338,7 +365,7 @@ class Wizard(Screen, HelpableScreen): self["config"].instance.moveSelection(self["config"].instance.moveUp) elif (self.showList and len(self.wizard[self.currStep]["evaluatedlist"]) > 0): if self.wizard[self.currStep].has_key("onselect"): - self.selection = self["list"].current[1] + self.selection = self["list"].current[-1] print "self.selection:", self.selection exec("self." + self.wizard[self.currStep]["onselect"] + "()") @@ -361,6 +388,13 @@ class Wizard(Screen, HelpableScreen): def updateValues(self): print "Updating values in step " + str(self.currStep) + # calling a step which doesn't exist can only happen if the condition in the last step is not fulfilled + # if a non-existing step is called, end the wizard + if self.currStep > len(self.wizard): + self.markDone() + self.close() + return + self.timeoutTimer.stop() if self.configInstance is not None: @@ -444,7 +478,8 @@ class Wizard(Screen, HelpableScreen): else: self["config"].l.setList([]) else: - self["config"].hide() + if self.has_key("config"): + self["config"].hide() else: # condition false self.currStep += 1 self.updateValues()