X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FPluginList.py;h=fee11ef9dc58aadbf17edfa637958224dabe9599;hp=fd988065e5b141e498d1f9f5724a453d496fd220;hb=0fee8bdaa26f854460b63475c91f1f2cf762594b;hpb=ed40f6f85c9c07c3c1224ae20601082c0309a631 diff --git a/lib/python/Components/PluginList.py b/lib/python/Components/PluginList.py index fd98806..fee11ef 100644 --- a/lib/python/Components/PluginList.py +++ b/lib/python/Components/PluginList.py @@ -1,60 +1,59 @@ -from HTMLComponent import * -from GUIComponent import * - from MenuList import MenuList from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest -from enigma import loadPNG, eListboxPythonMultiContent, RT_HALIGN_LEFT, eListbox, gFont - -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)) +from enigma import eListboxPythonMultiContent, gFont +from Tools.LoadPixmap import LoadPixmap +import skin +def PluginEntryComponent(plugin, width=440): 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(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 - -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)) + nx, ny, nh = skin.parameters.get("PluginBrowserName",(120, 5, 25)) + dx, dy, dh = skin.parameters.get("PluginBrowserDescr",(120, 26, 17)) + ix, iy, iw, ih = skin.parameters.get("PluginBrowserIcon",(10, 5, 100, 40)) + return [ + plugin, + MultiContentEntryText(pos=(nx, ny), size=(width-nx, nh), font=0, text=plugin.name), + MultiContentEntryText(pos=(dx, dy), size=(width-dx, dh), font=1, text=plugin.description), + MultiContentEntryPixmapAlphaTest(pos=(ix, iy), size=(iw, ih), png = png) + ] + +def PluginCategoryComponent(name, png, width=440): + x, y, h = skin.parameters.get("PluginBrowserDownloadName",(120, 5, 25)) + ix, iy, iw, ih = skin.parameters.get("PluginBrowserDownloadIcon",(10, 0, 100, 50)) + return [ + name, + MultiContentEntryText(pos=(x, y), size=(width-x, h), font=0, text=name), + MultiContentEntryPixmapAlphaTest(pos=(ix, iy), size=(iw, ih), png = png) + ] + +def PluginDownloadComponent(plugin, name, width=440): 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(MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png)) + + x, y, h = skin.parameters.get("PluginBrowserDownloadName",(120, 5, 25)) + dx, dy, dh = skin.parameters.get("PluginBrowserDownloadDescr",(120, 26, 17)) + ix, iy, iw, ih = skin.parameters.get("PluginBrowserDownloadIcon",(10, 0, 100, 50)) + return [ + plugin, + MultiContentEntryText(pos=(x, y), size=(width-x, h), font=0, text=name), + MultiContentEntryText(pos=(dx, dy), size=(width-dx, dh), font=1, text=plugin.description), + MultiContentEntryPixmapAlphaTest(pos=(ix, iy), size=(iw, ih), png = png) + ] - return res - -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", 14)) - - GUI_WIDGET = eListbox - - def postWidgetCreate(self, instance): - instance.setContent(self.l) - instance.setItemHeight(50) + +class PluginList(MenuList): + def __init__(self, list, enableWrapAround=False): + MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent) + font = skin.fonts.get("PluginBrowser0", ("Regular", 20, 50)) + self.l.setFont(0, gFont(font[0], font[1])) + self.l.setItemHeight(font[2]) + font = skin.fonts.get("PluginBrowser1", ("Regular", 14)) + self.l.setFont(1, gFont(font[0], font[1]))