From: Andreas Monzner Date: Wed, 22 Nov 2006 20:20:29 +0000 (+0000) Subject: add possibility to use colored buttons to call functions in open choicelist X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=4abbbe07af12cb550130f51dfe00d667fd7c5f57 add possibility to use colored buttons to call functions in open choicelist --- diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py index d1bac9f..b378f2a 100644 --- a/lib/python/Screens/ChoiceBox.py +++ b/lib/python/Screens/ChoiceBox.py @@ -72,7 +72,6 @@ class ChoiceBox(Screen): if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == len(self["list"].list) - 1: break - def keyNumberGlobal(self, number): print "pressed", number if self.keymap.has_key(str(number)): @@ -86,19 +85,36 @@ class ChoiceBox(Screen): def keyRed(self): if self.keymap.has_key("red"): - self.close(self.keymap["red"]) + entry = self.keymap["red"] + if len(entry) > 2 and isinstance(entry[1], str) and entry[1] == "CALLFUNC": + entry[2](self["list"].l.getCurrentSelection()[0]) + else: + self.close(entry) def keyGreen(self): if self.keymap.has_key("green"): - self.close(self.keymap["green"]) + entry = self.keymap["green"] + print entry + if len(entry) > 2 and isinstance(entry[1], str) and entry[1] == "CALLFUNC": + entry[2](self["list"].l.getCurrentSelection()[0]) + else: + self.close(entry) def keyYellow(self): if self.keymap.has_key("yellow"): - self.close(self.keymap["yellow"]) - + entry = self.keymap["yellow"] + if len(entry) > 2 and isinstance(entry[1], str) and entry[1] == "CALLFUNC": + entry[2](self["list"].l.getCurrentSelection()[0]) + else: + self.close(entry) + def keyBlue(self): if self.keymap.has_key("blue"): - self.close(self.keymap["blue"]) - + entry = self.keymap["blue"] + if len(entry) > 2 and isinstance(entry[1], str) and entry[1] == "CALLFUNC": + entry[2](self["list"].l.getCurrentSelection()[0]) + else: + self.close(entry) + def cancel(self): self.close(None)