aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2010-02-11 23:14:35 +0100
committerghost <andreas.monzner@multimedia-labs.de>2010-02-11 23:14:35 +0100
commit325b302e9142dcec73452ea1e5207d94855a0ab2 (patch)
tree91d8b666087bb090e250e06277cfb200569b8cdf
parente058cb26c1fe4a6352ac5987c94694c0ecc1ff98 (diff)
parent7c2f35aa189b8e3d4d5e3fece3362d71ee160762 (diff)
downloadenigma2-325b302e9142dcec73452ea1e5207d94855a0ab2.tar.gz
enigma2-325b302e9142dcec73452ea1e5207d94855a0ab2.zip
Merge branch 'bug_443_listbox_selection' into experimental
-rw-r--r--data/encoding.conf27
-rw-r--r--lib/python/Components/Converter/TemplatedMultiContent.py20
-rw-r--r--lib/python/Components/Renderer/Listbox.py4
-rw-r--r--lib/python/Components/Sources/List.py5
4 files changed, 33 insertions, 23 deletions
diff --git a/data/encoding.conf b/data/encoding.conf
index 9383317e..3f09b564 100644
--- a/data/encoding.conf
+++ b/data/encoding.conf
@@ -12,18 +12,21 @@ bul ISO8859-5
#so our default is ISO8859-1 without two char byte encoding
#So all transponders which needs this must be listed here
#TSID ONID
-0x447 0x1 #ASTRA 19.2 UPC Direct
-0x427 0x1 #ASTRA 19.2 UPC Direct
-0x44b 0x1 #ASTRA 19.2 UPC Direct
-0x4ff 0x1 #ASTRA 19.2 UPC Direct
-0x407 0x1 #ASTRA 19.2 UPC Direct
-0x436 0x1 #ASTRA 19.2 MTV Euro - MTV Networks
-0x42a 0x1 #ASTRA 19.2 VH1 Classic - MTV Networks
-0xbc6 0x3 #ASTRA 23.5 Cslink, Skylink
-0xc85 0x3 #ASTRA 23.5 Cslink, Skylink
-0xc89 0x3 #ASTRA 23.5 Cslink, Skylink
-0xc8f 0x3 #ASTRA 23.5 Cslink, Skylink
-0xbc7 0x3 #ASTRA 23.5 Cslink, Skylink
+0x447 0x1 # Astra 19.2°E 12.304 H - UPC Direct
+0x427 0x1 # Astra 19.2°E 10.920 H - UPC Direct
+0x44b 0x1 # Astra 19.2°E 12.382 H - UPC Direct
+0x4ff 0x1 # Astra 19.2°E 11.992 H - UPC Direct
+0x407 0x1 # Astra 19.2°E 11.671 H - UPC Direct
+0x436 0x1 # Astra 19.2°E 11.973 V - MTV Networks Europe
+0x42a 0x1 # Astra 19.2°E 11.739 V - MTV Networks Europe
+0xc23 0x3 # Astra 23.5°E 10.803 H - CS Link / SkyLink
+0xc85 0x3 # Astra 23.5°E 11.797 H - CS Link / SkyLink
+0xc89 0x3 # Astra 23.5°E 11.876 H - CS Link / SkyLink
+0xc8f 0x3 # Astra 23.5°E 11.992 H - CS Link / SkyLink
+0xc93 0x3 # Astra 23.5°E 12.070 H - CS Link / SkyLink
+0xc95 0x3 # Astra 23.5°E 12.109 H - SkyLink
+0xbc6 0x3 # Astra 23.5°E 12.525 V - CS Link / SkyLink
+0xbc7 0x3 # Astra 23.5°E 12.565 H - SkyLink
400 318 #Hotbird 13.0 Cyfra+
1000 318 #Hotbird 13.0 Grupa ITI
1500 318 #Hotbird 13.0 Cyfra+
diff --git a/lib/python/Components/Converter/TemplatedMultiContent.py b/lib/python/Components/Converter/TemplatedMultiContent.py
index b86d94bf..b5a98449 100644
--- a/lib/python/Components/Converter/TemplatedMultiContent.py
+++ b/lib/python/Components/Converter/TemplatedMultiContent.py
@@ -10,8 +10,8 @@ class TemplatedMultiContent(StringList):
del l["self"] # cleanup locals a bit
del l["args"]
- self.template = eval(args, {}, l)
self.active_style = None
+ self.template = eval(args, {}, l)
assert "fonts" in self.template
assert "itemHeight" in self.template
assert "template" in self.template or "templates" in self.template
@@ -25,7 +25,6 @@ class TemplatedMultiContent(StringList):
if not self.content:
from enigma import eListboxPythonMultiContent
self.content = eListboxPythonMultiContent()
- self.setTemplate()
# also setup fonts (also given by source)
index = 0
@@ -35,30 +34,33 @@ class TemplatedMultiContent(StringList):
# if only template changed, don't reload list
if what[0] == self.CHANGED_SPECIFIC and what[1] == "style":
- self.setTemplate()
- return
-
- if self.source:
+ pass
+ elif self.source:
self.content.setList(self.source.list)
- self.setTemplate()
+ self.setTemplate()
self.downstream_elements.changed(what)
def setTemplate(self):
if self.source:
style = self.source.style
+
if style == self.active_style:
- return # style did not change
+ return
# if skin defined "templates", that means that it defines multiple styles in a dict. template should still be a default
templates = self.template.get("templates")
template = self.template.get("template")
itemheight = self.template["itemHeight"]
+ selectionEnabled = self.template.get("selectionEnabled", True)
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]
self.content.setTemplate(template)
-
self.content.setItemHeight(itemheight)
+ self.selectionEnabled = selectionEnabled
+ self.active_style = style
diff --git a/lib/python/Components/Renderer/Listbox.py b/lib/python/Components/Renderer/Listbox.py
index 7a895330..640121e1 100644
--- a/lib/python/Components/Renderer/Listbox.py
+++ b/lib/python/Components/Renderer/Listbox.py
@@ -77,6 +77,10 @@ class Listbox(Renderer, object):
selection_enabled = property(lambda self: self.__selection_enabled, setSelectionEnabled)
def changed(self, what):
+ if hasattr(self.source, "selectionEnabled"):
+ self.selection_enabled = self.source.selectionEnabled
+ if len(what) > 1 and isinstance(what[1], str) and what[1] == "style":
+ return
self.content = self.source.content
def entry_changed(self, index):
diff --git a/lib/python/Components/Sources/List.py b/lib/python/Components/Sources/List.py
index 1eab32b2..6f0670a1 100644
--- a/lib/python/Components/Sources/List.py
+++ b/lib/python/Components/Sources/List.py
@@ -91,8 +91,9 @@ to generate HTML."""
return self.__style
def setStyle(self, style):
- self.__style = style
- self.changed((self.CHANGED_SPECIFIC, "style"))
+ if self.__style != style:
+ self.__style = style
+ self.changed((self.CHANGED_SPECIFIC, "style"))
style = property(getStyle, setStyle)