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 14216cf1a24d9a87ee59359237ff636f8f975c86..07bb56d085dd53aa5f3bbcb4005f0530aa91d5e2 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 0c4290d64b4698f3bde7c065de7f9be4fd99746b..ba8d0291f5abc02f5a08872ee196af342c19d5a5 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 ae171c305153968edfcebf842984a0f083a84794..61297ac1c28fc9e968426e1b2dc5a48796570d55 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 a728aef77a5ce0d7ff8bad636e0011b0cdcb7af9..416b015d7d1c03b11ca1206f2a2dbc22de41d2c0 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 f518555075253193945eee4a55713f309c29de13..9ec469ae4c811ba057e3923b91243d4ef2375bb3 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 3a3bef1e3437b4afd4fbc25788a9fcdff74b7098..153c61a5c1246baf9f6e71e1247819d8184f7cff 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 6b02e5bca60d6eace6e6d51d28c6d4536a684f7c..10b1d531248ca9115da373d190cc5e7bbfb0cc5a 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 46c024dd8017fa3e15ff42c3300bdfbb6a36236f..e39b1d0271dbc2284a36d70f2765104db7b9d680 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 b1d9ba0217b2cba52010777516813b837c39d470..269eb3b6ba5a984883faf9d86ee1def8aeb3fbce 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 3148879a633b8956c78a13ddbc48bb16638526e3..d6d27595e69104db3d44b467a1d434f3bd77c06b 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 b01b9b8f5a879499881ea1dd5aa2aded9cdb0bb1..f6f9b4818a2836966617c8efaa2f61b9760ebe46 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 81eb2d40f0fb6ff229cca84439dd45a7591590f2..3e95b79d90de121a41782bdae970fd0e5b85a60f 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 5459ccce7857c056709ffb2dfa1096cd3832c444..fbb809d735f3684f3f85be75cb53c4ccb9b52613 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 9b60fae95e2e1092309d4e3e3c83686d5b94f272..d4b225724a93a293a54be1d99d0577f3d6478c34 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 5af6b1b2ab5360a3cfb4d7a01f62ec470cbff3a1..0bc82009efba2cfd0f6d750602b2600c42fc6813 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