X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e77779c4822c7c860f5006b24445960722c7a46e..0e3e7773e5d8e7ff159316db3de7fcfad57bb9e8:/lib/python/Screens/ChoiceBox.py diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py index 522ee3c5..ce8f9bf9 100644 --- a/lib/python/Screens/ChoiceBox.py +++ b/lib/python/Screens/ChoiceBox.py @@ -18,7 +18,7 @@ class ChoiceBox(Screen): if keys is None: self.keys = [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "red", "green", "yellow", "blue" ] + (len(list) - 10) * [""] else: - self.keys = keys + self.keys = keys + (len(list) - len(keys)) * [""] self.keymap = {} pos = 0 @@ -59,24 +59,30 @@ class ChoiceBox(Screen): pass def up(self): - while 1: - self["list"].instance.moveSelection(self["list"].instance.moveUp) - if self["list"].l.getCurrentSelection()[0][0] != "--": - break + if len(self["list"].list) > 0: + while 1: + self["list"].instance.moveSelection(self["list"].instance.moveUp) + if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == 0: + break def down(self): - while 1: - self["list"].instance.moveSelection(self["list"].instance.moveDown) - if self["list"].l.getCurrentSelection()[0][0] != "--": - break + if len(self["list"].list) > 0: + while 1: + self["list"].instance.moveSelection(self["list"].instance.moveDown) + 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)): self.close(self.keymap[str(number)]) def go(self): - self.close(self["list"].l.getCurrentSelection()[0]) - #self.close(self["input"].getText()) + if len(self["list"].list) > 0: + self.close(self["list"].l.getCurrentSelection()[0]) + else: + self.close(None) def keyRed(self): if self.keymap.has_key("red"):