use LoadPixmap with cached instead of global loadPNG (to optimize enigma2 startup...
[enigma2.git] / lib / python / Components / PluginList.py
index 3a3bef1e3437b4afd4fbc25788a9fcdff74b7098..63136ccee20a3c78b6b7b4509186d3e2531f0b1b 100644 (file)
@@ -1,12 +1,10 @@
-from HTMLComponent import HTMLComponent
-from GUIComponent import GUIComponent
-
 from MenuList import MenuList
 
 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
 from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
 
 from MenuList import MenuList
 
 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
 from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest
 
-from enigma import loadPNG, eListboxPythonMultiContent, eListbox, gFont
+from enigma import eListboxPythonMultiContent, gFont
+from Tools.LoadPixmap import LoadPixmap
 
 def PluginEntryComponent(plugin):
        res = [ plugin ]
 
 def PluginEntryComponent(plugin):
        res = [ plugin ]
@@ -15,7 +13,7 @@ def PluginEntryComponent(plugin):
        res.append(MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description))
 
        if plugin.icon is None:
        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 = 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))
        else:
                png = plugin.icon
        res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(100, 40), png = png))
@@ -37,24 +35,16 @@ def PluginDownloadComponent(plugin, name):
        res.append(MultiContentEntryText(pos=(120, 26), size=(320, 17), font=1, text=plugin.description))
 
        if plugin.icon is None:
        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 = 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))
        
        return res
 
        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()
-               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))
                self.l.setItemHeight(50)
                self.l.setFont(0, gFont("Regular", 20))
                self.l.setFont(1, gFont("Regular", 14))
                self.l.setItemHeight(50)
-
-       GUI_WIDGET = eListbox
-
-       def postWidgetCreate(self, instance):
-               instance.setContent(self.l)