X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d120b13dd6d9460fc9a66680ffb42632cb597522..4c1d3d2f5cf39f72bf85041a6ba6665350ea742e:/lib/python/Components/PluginList.py?ds=sidebyside diff --git a/lib/python/Components/PluginList.py b/lib/python/Components/PluginList.py index b9b5bcc7..39c60ff7 100644 --- a/lib/python/Components/PluginList.py +++ b/lib/python/Components/PluginList.py @@ -1,45 +1,48 @@ -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(plugin): - res = [ plugin ] - - res.append((eListboxPythonMultiContent.TYPE_TEXT, 80, 5, 300, 25, 0, RT_HALIGN_LEFT, plugin.name)) - res.append((eListboxPythonMultiContent.TYPE_TEXT, 80, 26, 300, 17, 1, RT_HALIGN_LEFT, plugin.description)) + if plugin.icon is None: + png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/plugin.png")) + else: + png = plugin.icon + return [ + plugin, + MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=plugin.name), + MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description), + MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(100, 40), png = png) + ] + +def PluginCategoryComponent(name, png): + return [ + name, + MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=name), + MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png) + ] + +def PluginDownloadComponent(plugin, name): if plugin.icon is None: - png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "/plugin.png")) + png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/plugin.png")) else: png = plugin.icon - res.append((eListboxPythonMultiContent.TYPE_PIXMAP, 10, 5, 60, 40, png)) + + return [ + plugin, + MultiContentEntryText(pos=(120, 5), size=(320, 25), font=0, text=name), + MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description), + 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) + +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)) - - def GUIcreate(self, parent): - self.instance = eListbox(parent) - self.instance.setContent(self.l) - self.instance.setItemHeight(50) + self.l.setItemHeight(50)