fix off-by-one bug in ConfigSubList
[enigma2.git] / lib / python / Components / ChoiceList.py
index 91f18aeea27d95ffd3f302a755d681280eaa21bc..a0fbde542ac5f44263c1680c515c278a8a4e8bce 100644 (file)
@@ -18,23 +18,29 @@ RT_VALIGN_BOTTOM = 16
 
 def ChoiceEntryComponent(key, text):
        res = [ text ]
-       res.append((eListboxPythonMultiContent.TYPE_TEXT, 32, 00, 800,25, 0, RT_HALIGN_LEFT, text[0]))
-
-       png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "key_" + key + "-fs8.png"))
-       if png is not None:
-               res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 30, 20, png))
+       if text[0] == "--":
+               res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 00, 800, 25, 0, RT_HALIGN_LEFT, "-"*200))
+       else:
+               res.append((eListboxPythonMultiContent.TYPE_TEXT, 32, 00, 800, 25, 0, RT_HALIGN_LEFT, text[0]))
+       
+               png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "key_" + key + "-fs8.png"))
+               if png is not None:
+                       res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 30, 20, png))
        
        return res
 
-class ChoiceList(HTMLComponent, GUIComponent, MenuList):
-       def __init__(self, list):
+class ChoiceList(MenuList, HTMLComponent, GUIComponent):
+       def __init__(self, list, selection = 0):
                GUIComponent.__init__(self)
                self.l = eListboxPythonMultiContent()
                self.list = list
                self.l.setList(list)
                self.l.setFont(0, gFont("Regular", 20))
-       
-       def GUIcreate(self, parent):
-               self.instance = eListbox(parent)
-               self.instance.setContent(self.l)
-               self.instance.setItemHeight(25)
+               self.selection = selection
+
+       GUI_WIDGET = eListbox
+               
+       def postWidgetCreate(self, instance):
+               instance.setContent(self.l)
+               instance.setItemHeight(25)
+               self.moveToIndex(self.selection)