factor out loadPNG into generic LoadPixmap
authorFelix Domke <tmbinc@elitedvb.net>
Thu, 13 Dec 2007 01:25:52 +0000 (01:25 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Thu, 13 Dec 2007 01:25:52 +0000 (01:25 +0000)
16 files changed:
lib/python/Components/ChoiceList.py
lib/python/Components/EpgList.py
lib/python/Components/FileList.py
lib/python/Components/MediaPlayer.py
lib/python/Components/ParentalControlList.py
lib/python/Components/PluginList.py
lib/python/Components/SelectionList.py
lib/python/Components/ServiceList.py
lib/python/Components/TimerList.py
lib/python/Plugins/Extensions/GraphMultiEPG/GraphMultiEpg.py
lib/python/Plugins/Plugin.py
lib/python/Screens/LanguageSelection.py
lib/python/Screens/PluginBrowser.py
lib/python/Screens/RdsDisplay.py
lib/python/Tools/LoadPixmap.py [new file with mode: 0644]
lib/python/Tools/Makefile.am

index 14216cf..07bb56d 100644 (file)
@@ -2,7 +2,8 @@ from HTMLComponent import HTMLComponent
 from GUIComponent import GUIComponent
 from MenuList import MenuList
 from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename
-from enigma import RT_HALIGN_LEFT, eListboxPythonMultiContent, eListbox, gFont, loadPNG
+from enigma import RT_HALIGN_LEFT, eListboxPythonMultiContent, eListbox, gFont
+from Tools.LoadPixmap import LoadPixmap
 
 def ChoiceEntryComponent(key, text):
        res = [ text ]
@@ -11,7 +12,7 @@ def ChoiceEntryComponent(key, text):
        else:
                res.append((eListboxPythonMultiContent.TYPE_TEXT, 32, 00, 800, 25, 0, RT_HALIGN_LEFT, text[0]))
        
-               png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "key_" + key + "-fs8.png"))
+               png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "key_" + key + "-fs8.png"))
                if png is not None:
                        res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 0, 0, 30, 20, png))
        
index 0c4290d..ba8d029 100644 (file)
@@ -1,9 +1,11 @@
 from HTMLComponent import HTMLComponent
 from GUIComponent import GUIComponent
 
-from enigma import eEPGCache, eListbox, eListboxPythonMultiContent, gFont, loadPNG, \
+from enigma import eEPGCache, eListbox, eListboxPythonMultiContent, gFont, \
        RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_HALIGN_CENTER, RT_VALIGN_CENTER
 
+from Tools.LoadPixmap import LoadPixmap
+
 from time import localtime, time
 from ServiceReference import ServiceReference
 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
@@ -49,7 +51,7 @@ class EPGList(HTMLComponent, GUIComponent):
                        assert(type == EPG_TYPE_SIMILAR)
                        self.l.setBuildFunc(self.buildSimilarEntry)
                self.epgcache = eEPGCache.getInstance()
-               self.clock_pixmap = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, 'epgclock-fs8.png'))
+               self.clock_pixmap = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, 'epgclock-fs8.png'))
 
        def getEventFromId(self, service, eventid):
                event = None
index ae171c3..61297ac 100644 (file)
@@ -8,8 +8,10 @@ from Components.Harddisk import harddiskmanager
 
 from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename
 
-from enigma import RT_HALIGN_LEFT, loadPNG, eListbox, eListboxPythonMultiContent, \
+from enigma import RT_HALIGN_LEFT, eListbox, eListboxPythonMultiContent, \
        eServiceReference, eServiceCenter, gFont
+from Tools.LoadPixmap import LoadPixmap
+
 
 EXTENSIONS = {
                "mp3": "music",
@@ -29,12 +31,12 @@ def FileEntryComponent(name, absolute = None, isDir = False):
        res = [ (absolute, isDir) ]
        res.append((eListboxPythonMultiContent.TYPE_TEXT, 35, 1, 470, 20, 0, RT_HALIGN_LEFT, name))
        if isDir:
-               png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "extensions/directory.png"))
+               png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "extensions/directory.png"))
        else:
                extension = name.split('.')
                extension = extension[-1].lower()
                if EXTENSIONS.has_key(extension):
-                       png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "extensions/" + EXTENSIONS[extension] + ".png"))
+                       png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "extensions/" + EXTENSIONS[extension] + ".png"))
                else:
                        png = None
        if png is not None:
index a728aef..416b015 100644 (file)
@@ -6,7 +6,10 @@ from MenuList import MenuList
 from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename
 from os import path
 
-from enigma import eListboxPythonMultiContent, eListbox, RT_VALIGN_CENTER, loadPNG, gFont, eServiceCenter
+from enigma import eListboxPythonMultiContent, eListbox, RT_VALIGN_CENTER, gFont, eServiceCenter
+
+from Tools.LoadPixmap import LoadPixmap
+
 
 STATE_PLAY = 0
 STATE_PAUSE = 1
@@ -15,11 +18,11 @@ STATE_REWIND = 3
 STATE_FORWARD = 4
 STATE_NONE = 5
 
-PlayIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_play.png"))
-PauseIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_pause.png"))
-StopIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_stop.png"))
-RewindIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_rewind.png"))
-ForwardIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_forward.png"))
+PlayIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_play.png"))
+PauseIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_pause.png"))
+StopIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_stop.png"))
+RewindIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_rewind.png"))
+ForwardIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_forward.png"))
 
 def PlaylistEntryComponent(serviceref, state):
        res = [ serviceref ]
index f518555..9ec469a 100644 (file)
@@ -5,9 +5,9 @@ from MenuList import MenuList
 from Components.ParentalControl import parentalControl
 from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename
 
-from enigma import loadPNG, eListbox, eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT
+from enigma import LoadPixmap, eListbox, eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT
 
-lockPicture = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "lock-fs8.png"))
+lockPicture = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "lock-fs8.png"))
 
 def ParentalControlEntryComponent(service, name, locked = True):
        res = [ (service, name, locked) ]
index 3a3bef1..153c61a 100644 (file)
@@ -6,7 +6,8 @@ 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, eListbox, gFont
+from Tools.LoadPixmap import LoadPixmap
 
 def PluginEntryComponent(plugin):
        res = [ plugin ]
@@ -15,7 +16,7 @@ def PluginEntryComponent(plugin):
        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, "plugin.png"))
        else:
                png = plugin.icon
        res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 5), size=(100, 40), png = png))
@@ -37,7 +38,7 @@ def PluginDownloadComponent(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 = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "plugin.png"))
        else:
                png = plugin.icon
        res.append(MultiContentEntryPixmapAlphaTest(pos=(10, 0), size=(100, 50), png = png))
index 6b02e5b..10b1d53 100644 (file)
@@ -1,9 +1,10 @@
 from GUIComponent import GUIComponent
 from MenuList import MenuList
 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
-from enigma import eListboxPythonMultiContent, loadPNG, eListbox, gFont, RT_HALIGN_LEFT
+from enigma import eListboxPythonMultiContent, eListbox, gFont, RT_HALIGN_LEFT
+from Tools.LoadPixmap import LoadPixmap
 
-selectionpng = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "selectioncross-fs8.png"))
+selectionpng = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "selectioncross-fs8.png"))
 
 def SelectionEntryComponent(description, value, index, selected):
        res = [ (description, value, index, selected) ]
index 46c024d..e39b1d0 100644 (file)
@@ -2,7 +2,8 @@ from HTMLComponent import HTMLComponent
 from GUIComponent import GUIComponent
 from skin import parseColor
 
-from enigma import loadPNG, eListboxServiceContent, eListbox, eServiceCenter, eServiceReference, gFont, eRect
+from enigma import eListboxServiceContent, eListbox, eServiceCenter, eServiceReference, gFont, eRect
+from Tools.LoadPixmap import LoadPixmap
 
 from string import upper
 
@@ -16,27 +17,27 @@ class ServiceList(HTMLComponent, GUIComponent):
                GUIComponent.__init__(self)
                self.l = eListboxServiceContent()
 
-               pic = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "folder.png"))
+               pic = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "folder.png"))
                if pic:
                        self.l.setPixmap(self.l.picFolder, pic)
 
-               pic = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "marker-fs8.png"))
+               pic = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "marker-fs8.png"))
                if pic:
                        self.l.setPixmap(self.l.picMarker, pic)
 
-               pic = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_dvb_s-fs8.png"))
+               pic = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_dvb_s-fs8.png"))
                if pic:
                        self.l.setPixmap(self.l.picDVB_S, pic)
 
-               pic = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_dvb_c-fs8.png"))
+               pic = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_dvb_c-fs8.png"))
                if pic:
                        self.l.setPixmap(self.l.picDVB_C, pic)
 
-               pic = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_dvb_t-fs8.png"))
+               pic = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_dvb_t-fs8.png"))
                if pic:
                        self.l.setPixmap(self.l.picDVB_T, pic)
 
-               pic = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_service_group-fs8.png"))
+               pic = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_service_group-fs8.png"))
                if pic:
                        self.l.setPixmap(self.l.picServiceGroup, pic)
 
index b1d9ba0..269eb3b 100644 (file)
@@ -3,8 +3,9 @@ from GUIComponent import GUIComponent
 
 from Tools.FuzzyDate import FuzzyTime
 
-from enigma import eListboxPythonMultiContent, eListbox, gFont, loadPNG, \
+from enigma import eListboxPythonMultiContent, eListbox, gFont, \
        RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_VALIGN_CENTER
+from Tools.LoadPixmap import LoadPixmap
 from timer import TimerEntry
 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
 
@@ -62,7 +63,7 @@ class TimerList(HTMLComponent, GUIComponent, object):
                res.append((eListboxPythonMultiContent.TYPE_TEXT, width-240, 50, 240, 20, 1, RT_HALIGN_RIGHT|RT_VALIGN_CENTER, state))
 
                if timer.disabled:
-                       png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "redx.png"))
+                       png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "redx.png"))
                        res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 490, 5, 40, 40, png))
                return res
 
index 3148879..d6d2759 100644 (file)
@@ -17,7 +17,8 @@ from Screens.EpgSelection import EPGSelection
 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
 from RecordTimer import RecordTimerEntry, parseEvent
 from ServiceReference import ServiceReference
-from enigma import eEPGCache, eListbox, gFont, loadPNG, eListboxPythonMultiContent, \
+from Tools.LoadPixmap import LoadPixmap
+from enigma import eEPGCache, eListbox, gFont, eListboxPythonMultiContent, \
        RT_HALIGN_LEFT, RT_HALIGN_CENTER, RT_VALIGN_CENTER, RT_WRAP, eRect, eTimer
 
 from time import localtime, time, strftime
@@ -38,7 +39,7 @@ class EPGList(HTMLComponent, GUIComponent):
                if overjump_empty:
                        self.l.setSelectableFunc(self.isSelectable)
                self.epgcache = eEPGCache.getInstance()
-               self.clock_pixmap = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, 'epgclock-fs8.png'))
+               self.clock_pixmap = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, 'epgclock-fs8.png'))
                self.time_base = None
                self.time_epoch = time_epoch
                self.list = None
index b01b9b8..f6f9b48 100644 (file)
@@ -1,5 +1,5 @@
-from enigma import loadPNG
 from Components.config import ConfigSubsection, config
+from Tools.LoadPixmap import LoadPixmap
 
 config.plugins = ConfigSubsection()
 
@@ -63,7 +63,7 @@ class PluginDescriptor:
 
        def updateIcon(self, path):
                if type(self.iconstr) is str:
-                       self.icon = loadPNG(path + "/" + self.iconstr)
+                       self.icon = LoadPixmap(path + "/" + self.iconstr)
                else:
                        self.icon = None
 
index 81eb2d4..3e95b79 100644 (file)
@@ -7,14 +7,15 @@ from Components.Sources.List import List
 
 from Tools.Directories import *
 
-from enigma import eListboxPythonMultiContent, loadPNG, gFont, RT_HALIGN_LEFT
+from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT
+from Tools.LoadPixmap import LoadPixmap
 
 def LanguageEntryComponent(file, name, index):
        res = [ index ]
        res.append((eListboxPythonMultiContent.TYPE_TEXT, 80, 10, 200, 50, 0, RT_HALIGN_LEFT ,name))
-       png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "countries/" + file + ".png"))
+       png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "countries/" + file + ".png"))
        if png == None:
-               png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "countries/missing.png"))
+               png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "countries/missing.png"))
        res.append((eListboxPythonMultiContent.TYPE_PIXMAP, 10, 5, 60, 40, png))
        
        return res
index 5459ccc..fbb809d 100644 (file)
@@ -1,6 +1,6 @@
 from Screen import Screen
 
-from enigma import eConsoleAppContainer, loadPNG
+from enigma import eConsoleAppContainer
 
 from Components.ActionMap import ActionMap
 from Components.PluginComponent import plugins
@@ -10,6 +10,8 @@ from Screens.MessageBox import MessageBox
 from Screens.Console import Console
 from Plugins.Plugin import PluginDescriptor
 from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
+from Tools.LoadPixmap import LoadPixmap
+
 
 class PluginBrowser(Screen):
        def __init__(self, session):
@@ -168,9 +170,9 @@ class PluginDownloadBrowser(Screen):
        
        def updateList(self):
                self.list = []
-               expandableIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "expandable-plugins.png"))
-               expandedIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "expanded-plugins.png"))
-               verticallineIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "verticalline-plugins.png"))
+               expandableIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "expandable-plugins.png"))
+               expandedIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "expanded-plugins.png"))
+               verticallineIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "verticalline-plugins.png"))
                
                self.plugins = {}
                for x in self.pluginlist:
index 9b60fae..d4b2257 100644 (file)
@@ -1,10 +1,11 @@
-from enigma import iPlayableService, loadPNG, iRdsDecoder
+from enigma import iPlayableService, iRdsDecoder
 from Screens.Screen import Screen
 from Components.ActionMap import NumberActionMap
 from Components.ServiceEventTracker import ServiceEventTracker
 from Components.Pixmap import Pixmap
 from Components.Label import Label
 from Tools.Directories import resolveFilename, SCOPE_SKIN_IMAGE
+from Tools.LoadPixmap import LoadPixmap
 
 class RdsInfoDisplay(Screen):
        ALLOW_SUSPEND = True
@@ -121,10 +122,10 @@ class RassInteractive(Screen):
                        9 : self["subpages_9"] }
 
                self.subpage_png = {
-                       1 : loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "rass_page1.png")),
-                       2 : loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "rass_page2.png")),
-                       3 : loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "rass_page3.png")),
-                       4 : loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "rass_page4.png")) }
+                       1 : LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "rass_page1.png")),
+                       2 : LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "rass_page2.png")),
+                       3 : LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "rass_page3.png")),
+                       4 : LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "rass_page4.png")) }
 
                self.current_page=0;
                self.current_subpage=0;
diff --git a/lib/python/Tools/LoadPixmap.py b/lib/python/Tools/LoadPixmap.py
new file mode 100644 (file)
index 0000000..033b843
--- /dev/null
@@ -0,0 +1,7 @@
+from enigma import loadPNG
+
+def LoadPixmap(path, desktop = None):
+       ptr = loadPNG(path)
+       if ptr and desktop:
+               desktop.makeCompatiblePixmap(ptr)
+       return ptr
index 5af6b1b..0bc8200 100644 (file)
@@ -4,5 +4,4 @@ install_PYTHON = \
        FuzzyDate.py XMLTools.py Directories.py NumericalTextInput.py \
        KeyBindings.py BoundFunction.py ISO639.py Notifications.py __init__.py \
        RedirectOutput.py DreamboxHardware.py Import.py Event.py CList.py \
-       RedirectTime.py
-
+       RedirectTime.py LoadPixmap.py