X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d06c9d21f74e5ccf4492d34285db7b6adfc2e94c..b17019f43527d615589ce2083fb3d2a9058f2c3c:/lib/python/Screens/ChoiceBox.py diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py index 9711da2d..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,16 +59,18 @@ class ChoiceBox(Screen): pass def up(self): - while 1: - self["list"].instance.moveSelection(self["list"].instance.moveUp) - if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == 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] != "--" or self["list"].l.getCurrentSelectionIndex() == len(self["list"].list) - 1: - 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): @@ -77,8 +79,10 @@ class ChoiceBox(Screen): 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"):