X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4c6226bbf4d32d3abdc640a63581d963dd94937b..d1e450f95a9b79b144a00dcf0f9356ff6cb9bfb2:/lib/python/Components/PluginList.py diff --git a/lib/python/Components/PluginList.py b/lib/python/Components/PluginList.py index 22682033..fd988065 100644 --- a/lib/python/Components/PluginList.py +++ b/lib/python/Components/PluginList.py @@ -4,25 +4,47 @@ from GUIComponent import * from MenuList import MenuList from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE -from Components.MultiContent import RT_HALIGN_LEFT, MultiContentEntryText, MultiContentEntryPixmap +from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest -from enigma import * +from enigma import loadPNG, eListboxPythonMultiContent, RT_HALIGN_LEFT, eListbox, gFont def PluginEntryComponent(plugin): res = [ plugin ] - res.append(MultiContentEntryText(pos=(80, 5), size=(300, 25), font=0, text=plugin.name)) - res.append(MultiContentEntryText(pos=(80, 26), size=(300, 17), font=1, text=plugin.description)) + 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")) + png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "plugin.png")) else: png = plugin.icon - res.append(MultiContentEntryPixmap(pos=(10, 5), size=(60, 40), png = png)) + res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(100, 40), png = png)) return res -class PluginList(HTMLComponent, GUIComponent, MenuList): +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(MenuList, HTMLComponent, GUIComponent): def __init__(self, list): GUIComponent.__init__(self) self.l = eListboxPythonMultiContent() @@ -30,8 +52,9 @@ class PluginList(HTMLComponent, GUIComponent, MenuList): self.l.setList(list) self.l.setFont(0, gFont("Regular", 20)) self.l.setFont(1, gFont("Regular", 14)) - - def GUIcreate(self, parent): - self.instance = eListbox(parent) - self.instance.setContent(self.l) - self.instance.setItemHeight(50) + + GUI_WIDGET = eListbox + + def postWidgetCreate(self, instance): + instance.setContent(self.l) + instance.setItemHeight(50)