X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/af50298c0edc3e108433acc9106d9a022447d44e..0a7e2ed8d31048eee98bf2ffd794743d30d9b953:/lib/python/Screens/ChoiceBox.py diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py index 0be9385e..60aa5e10 100644 --- a/lib/python/Screens/ChoiceBox.py +++ b/lib/python/Screens/ChoiceBox.py @@ -10,13 +10,13 @@ from Components.ChoiceList import ChoiceEntryComponent, ChoiceList import os class ChoiceBox(Screen): - def __init__(self, session, title = "", list = [], keys = None): + def __init__(self, session, title = "", list = [], keys = None, selection = 0): Screen.__init__(self, session) self["text"] = Label(title) self.list = [] if keys is None: - self.keys = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" ] + (len(list) - 10) * [""] + self.keys = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "red", "green", "yellow", "blue" ] + (len(list) - 10) * [""] else: self.keys = keys @@ -24,13 +24,13 @@ class ChoiceBox(Screen): pos = 0 for x in list: strpos = str(self.keys[pos]) - self.list.append(ChoiceEntryComponent(strpos, x)) + self.list.append(ChoiceEntryComponent(key = strpos, text = x)) if self.keys[pos] != "": self.keymap[self.keys[pos]] = list[pos] pos += 1 - self["list"] = ChoiceList(self.list) + self["list"] = ChoiceList(list = self.list, selection = selection) - self["actions"] = NumberActionMap(["WizardActions", "InputActions"], + self["actions"] = NumberActionMap(["WizardActions", "InputActions", "ColorActions"], { "ok": self.go, "back": self.cancel, @@ -43,7 +43,11 @@ class ChoiceBox(Screen): "7": self.keyNumberGlobal, "8": self.keyNumberGlobal, "9": self.keyNumberGlobal, - "0": self.keyNumberGlobal + "0": self.keyNumberGlobal, + "red": self.keyRed, + "green": self.keyGreen, + "yellow": self.keyYellow, + "blue": self.keyBlue }, -1) def keyLeft(self): @@ -60,6 +64,22 @@ class ChoiceBox(Screen): def go(self): self.close(self["list"].l.getCurrentSelection()[0]) #self.close(self["input"].getText()) - + + def keyRed(self): + if self.keymap.has_key("red"): + self.close(self.keymap["red"]) + + def keyGreen(self): + if self.keymap.has_key("green"): + self.close(self.keymap["green"]) + + def keyYellow(self): + if self.keymap.has_key("yellow"): + self.close(self.keymap["yellow"]) + + def keyBlue(self): + if self.keymap.has_key("blue"): + self.close(self.keymap["blue"]) + def cancel(self): self.close(None) \ No newline at end of file