diff options
| author | acid-burn <acid-burn@opendreambox.org> | 2010-03-18 11:24:53 +0100 |
|---|---|---|
| committer | acid-burn <acid-burn@opendreambox.org> | 2010-03-18 11:24:53 +0100 |
| commit | aa979f0bc35f6160453b966942a0a86602d8c071 (patch) | |
| tree | d359865d20fd81c907a9b7b7f46f58976faba1f9 /lib/python | |
| parent | fd6a97a1e97091b733add33b46ba746a467b21fa (diff) | |
| parent | ca5b57073d8ef83110e6956b71134f3c1a1589a6 (diff) | |
| download | enigma2-aa979f0bc35f6160453b966942a0a86602d8c071.tar.gz enigma2-aa979f0bc35f6160453b966942a0a86602d8c071.zip | |
Merge commit 'origin/bug_478_Listbox_ScrollbarMode' into experimental
Conflicts:
lib/python/Components/Converter/TemplatedMultiContent.py
lib/python/Components/Renderer/Listbox.py
Diffstat (limited to 'lib/python')
| -rwxr-xr-x[-rw-r--r--] | lib/python/Components/Converter/TemplatedMultiContent.py | 4 | ||||
| -rwxr-xr-x[-rw-r--r--] | lib/python/Components/Renderer/Listbox.py | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/python/Components/Converter/TemplatedMultiContent.py b/lib/python/Components/Converter/TemplatedMultiContent.py index b5a98449..b1d89f55 100644..100755 --- a/lib/python/Components/Converter/TemplatedMultiContent.py +++ b/lib/python/Components/Converter/TemplatedMultiContent.py @@ -53,14 +53,18 @@ class TemplatedMultiContent(StringList): template = self.template.get("template") itemheight = self.template["itemHeight"] selectionEnabled = self.template.get("selectionEnabled", True) + scrollbarMode = self.template.get("scrollbarMode", "showOnDemand") if templates and style and style in templates: # if we have a custom style defined in the source, and different templates in the skin, look it up template = templates[style][1] itemheight = templates[style][0] if len(templates[style]) > 2: selectionEnabled = templates[style][2] + if len(templates[style]) > 3: + scrollbarMode = templates[style][3] self.content.setTemplate(template) self.content.setItemHeight(itemheight) self.selectionEnabled = selectionEnabled + self.scrollbarMode = scrollbarMode self.active_style = style diff --git a/lib/python/Components/Renderer/Listbox.py b/lib/python/Components/Renderer/Listbox.py index 640121e1..716fe445 100644..100755 --- a/lib/python/Components/Renderer/Listbox.py +++ b/lib/python/Components/Renderer/Listbox.py @@ -19,6 +19,7 @@ class Listbox(Renderer, object): self.__content = None self.__wrap_around = False self.__selection_enabled = True + self.__scrollbarMode = "showOnDemand" GUI_WIDGET = eListbox @@ -38,6 +39,7 @@ class Listbox(Renderer, object): instance.selectionChanged.get().append(self.selectionChanged) self.wrap_around = self.wrap_around # trigger self.selection_enabled = self.selection_enabled # trigger + self.scrollbarMode = self.scrollbarMode # trigger def preWidgetRemove(self, instance): instance.setContent(None) @@ -76,9 +78,22 @@ class Listbox(Renderer, object): selection_enabled = property(lambda self: self.__selection_enabled, setSelectionEnabled) + def setScrollbarMode(self, mode): + self.__scrollbarMode = mode + if self.instance is not None: + self.instance.setScrollbarMode(int( + { "showOnDemand": 0, + "showAlways": 1, + "showNever": 2, + }[mode])) + + scrollbarMode = property(lambda self: self.__scrollbarMode, setScrollbarMode) + def changed(self, what): if hasattr(self.source, "selectionEnabled"): self.selection_enabled = self.source.selectionEnabled + if hasattr(self.source, "scrollbarMode"): + self.scrollbarMode = self.source.scrollbarMode if len(what) > 1 and isinstance(what[1], str) and what[1] == "style": return self.content = self.source.content |
