-from HTMLComponent import *
-from GUIComponent import *
-
from MenuList import MenuList
from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
-from Components.MultiContent import RT_HALIGN_LEFT, MultiContentEntryText, MultiContentEntryPixmapAlphaTest
-
-from enigma import *
+from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
-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))
+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=(60, 40), png = png))
-
- return res
-
-def PluginCategoryComponent(name, png):
- res = [ name ]
-
- res.append(MultiContentEntryText(pos=(80, 5), size=(300, 25), font=0, text=name))
- res.append(MultiContentEntryPixmapAlphaTest(pos=(0, 0), size=(60, 50), png = png))
-
- return res
-
-def PluginDownloadComponent(plugin, name):
- res = [ plugin ]
-
- res.append(MultiContentEntryText(pos=(80, 5), size=(300, 25), font=0, text=name))
- res.append(MultiContentEntryText(pos=(80, 26), size=(300, 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=(0, 0), size=(60, 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("Regular", 20))
- self.l.setFont(1, gFont("Regular", 14))
+
+ 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)
+ ]
- def GUIcreate(self, parent):
- self.instance = eListbox(parent)
- self.instance.setContent(self.l)
- self.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]))