X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/9bcc599fba7204b53fc24f2ce7357fe0a85f0dc4..755936c5114029219a6800b81b74ffdfbcbbfe30:/lib/python/Components/Renderer/Listbox.py diff --git a/lib/python/Components/Renderer/Listbox.py b/lib/python/Components/Renderer/Listbox.py index ab696c23..7a895330 100644 --- a/lib/python/Components/Renderer/Listbox.py +++ b/lib/python/Components/Renderer/Listbox.py @@ -1,10 +1,7 @@ -from Components.VariableText import VariableText from Renderer import Renderer -from Tools.Event import Event - from enigma import eListbox -# the listbox renderer is the listbox, but no listbox content +# the listbox renderer is the listbox, but no listbox content. # the content will be provided by the source (or converter). # the source should emit the 'changed' signal whenever @@ -42,11 +39,15 @@ class Listbox(Renderer, object): self.wrap_around = self.wrap_around # trigger self.selection_enabled = self.selection_enabled # trigger + def preWidgetRemove(self, instance): + instance.setContent(None) + instance.selectionChanged.get().remove(self.selectionChanged) + def setWrapAround(self, wrap_around): self.__wrap_around = wrap_around if self.instance is not None: self.instance.setWrapAround(self.__wrap_around) - + wrap_around = property(lambda self: self.__wrap_around, setWrapAround) def selectionChanged(self): @@ -54,16 +55,16 @@ class Listbox(Renderer, object): def getIndex(self): if self.instance is None: - return None + return 0 return self.instance.getCurrentIndex() - + def moveToIndex(self, index): if self.instance is None: return self.instance.moveSelectionTo(index) index = property(getIndex, moveToIndex) - + def move(self, direction): if self.instance is not None: self.instance.moveSelection(direction) @@ -75,5 +76,9 @@ class Listbox(Renderer, object): selection_enabled = property(lambda self: self.__selection_enabled, setSelectionEnabled) - def changed(self): + def changed(self, what): self.content = self.source.content + + def entry_changed(self, index): + if self.instance is not None: + self.instance.entryChanged(index)