-from HTMLComponent import *
-from GUIComponent import *
-
from MenuList import MenuList
-from Tools.Directories import *
-
-from enigma import *
-
-RT_HALIGN_LEFT = 0
-RT_HALIGN_RIGHT = 1
-RT_HALIGN_CENTER = 2
-RT_HALIGN_BLOCK = 4
+from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
+from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
-RT_VALIGN_TOP = 0
-RT_VALIGN_CENTER = 8
-RT_VALIGN_BOTTOM = 16
+from enigma import eListboxPythonMultiContent, gFont
+from Tools.LoadPixmap import LoadPixmap
-def PluginEntryComponent(picture, name):
- res = [ None ]
- res.append((80, 10, 200, 50, 0, RT_HALIGN_LEFT , name))
- png = loadPNG(picture)
- if png == None:
- png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "/countries/missing.png"))
- res.append((10, 5, 60, 40, png))
+def PluginEntryComponent(plugin):
+ res = [ plugin ]
+
+ res.append(MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=plugin.name))
+ res.append(MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description))
+
+ if plugin.icon is None:
+ png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/plugin.png"))
+ else:
+ png = plugin.icon
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(100, 40), png = png))
return res
+def PluginCategoryComponent(name, png):
+ res = [ name ]
+
+ res.append(MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=name))
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png))
+
+ return res
-class PluginList(HTMLComponent, GUIComponent, MenuList):
- def __init__(self, list):
- GUIComponent.__init__(self)
- self.l = eListboxPythonMultiContent()
- self.list = list
- self.l.setList(list)
- self.l.setFont(0, gFont("Arial", 20))
- self.l.setFont(1, gFont("Arial", 10))
+def PluginDownloadComponent(plugin, name):
+ res = [ plugin ]
+
+ res.append(MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=name))
+ res.append(MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description))
+
+ if plugin.icon is None:
+ png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/plugin.png"))
+ else:
+ png = plugin.icon
+ res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png))
- def GUIcreate(self, parent):
- self.instance = eListbox(parent)
- self.instance.setContent(self.l)
- self.instance.setItemHeight(50)
\ No newline at end of file
+ return res
+
+class PluginList(MenuList):
+ def __init__(self, list, enableWrapAround=False):
+ MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent)
+ self.l.setFont(0, gFont("Regular", 20))
+ self.l.setFont(1, gFont("Regular", 14))
+ self.l.setItemHeight(50)