X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1b4aad48a679d50a81692082e02040c56a9920a9..1c6adfdbe104773d7a98377de6951da02ae1aac0:/lib/python/Components/Sources/List.py diff --git a/lib/python/Components/Sources/List.py b/lib/python/Components/Sources/List.py index 71be0807..89e1e71c 100644 --- a/lib/python/Components/Sources/List.py +++ b/lib/python/Components/Sources/List.py @@ -16,6 +16,7 @@ to generate HTML.""" self.item_height = item_height self.fonts = fonts self.disable_callbacks = False + self.enableWrapAround = enableWrapAround def setList(self, list): self.__list = list @@ -46,6 +47,7 @@ to generate HTML.""" def setIndex(self, index): if self.master is not None: self.master.index = index + self.selectionChanged(index) @cached def getIndex(self): @@ -57,6 +59,20 @@ to generate HTML.""" setCurrentIndex = setIndex index = property(getIndex, setIndex) + + def selectNext(self): + if self.getIndex() + 1 >= self.count(): + if self.enableWrapAround: + self.index = 0 + else: + self.index += 1 + + def selectPrevious(self): + if self.getIndex() - 1 < 0: + if self.enableWrapAround: + self.index = self.count() - 1 + else: + self.index -= 1 def updateList(self, list): """Changes the list without changing the selection or emitting changed Events"""