X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a194b290cad5bfd10126b9a225b08e2c58c5c990..d4969fafffd49c4791f56141d57281a83007a29b:/lib/python/Components/PluginList.py diff --git a/lib/python/Components/PluginList.py b/lib/python/Components/PluginList.py index 17fe1476..3a3bef1e 100644 --- a/lib/python/Components/PluginList.py +++ b/lib/python/Components/PluginList.py @@ -1,42 +1,60 @@ -from HTMLComponent import * -from GUIComponent import * +from HTMLComponent import HTMLComponent +from GUIComponent import GUIComponent from MenuList import MenuList -from Tools.Directories import * +from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE +from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest -from enigma import * +from enigma import loadPNG, eListboxPythonMultiContent, eListbox, gFont -RT_HALIGN_LEFT = 0 -RT_HALIGN_RIGHT = 1 -RT_HALIGN_CENTER = 2 -RT_HALIGN_BLOCK = 4 - -RT_VALIGN_TOP = 0 -RT_VALIGN_CENTER = 8 -RT_VALIGN_BOTTOM = 16 +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 = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "plugin.png")) + else: + png = plugin.icon + res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(100, 40), png = png)) + + return res -def PluginEntryComponent(picture, name): - res = [ None ] - res.append((eListboxPythonMultiContent.TYPE_TEXT, 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((eListboxPythonMultiContent.TYPE_PIXMAP, 10, 5, 60, 40, png)) +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 +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 = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "plugin.png")) + else: + png = plugin.icon + res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png)) + + return res -class PluginList(HTMLComponent, GUIComponent, MenuList): +class PluginList(MenuList, HTMLComponent, GUIComponent): def __init__(self, list): GUIComponent.__init__(self) self.l = eListboxPythonMultiContent() self.list = list self.l.setList(list) self.l.setFont(0, gFont("Regular", 20)) - self.l.setFont(1, gFont("Regular", 10)) - - def GUIcreate(self, parent): - self.instance = eListbox(parent) - self.instance.setContent(self.l) - self.instance.setItemHeight(50) \ No newline at end of file + self.l.setFont(1, gFont("Regular", 14)) + self.l.setItemHeight(50) + + GUI_WIDGET = eListbox + + def postWidgetCreate(self, instance): + instance.setContent(self.l)