from os import path
from enigma import eSize, ePoint, gFont, eWindow, eLabel, ePixmap, eWindowStyleManager, \
loadPNG, addFont, gRGB, eWindowStyleSkinned
from Components.config import ConfigSubsection, ConfigText, config
from os import path
from enigma import eSize, ePoint, gFont, eWindow, eLabel, ePixmap, eWindowStyleManager, \
loadPNG, addFont, gRGB, eWindowStyleSkinned
from Components.config import ConfigSubsection, ConfigText, config
from Components.Converter.Converter import Converter
from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS
from Tools.Import import my_import
from Components.Converter.Converter import Converter
from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS
from Tools.Import import my_import
- if attrib in ["pixmap", "pointer", "seek_pointer"]:
+ if attrib in ["pixmap", "pointer", "seek_pointer", "backgroundPixmap", "selectionPixmap"]:
guiObject.setFont(parseFont(value))
elif attrib == 'zPosition':
guiObject.setZPosition(int(value))
guiObject.setFont(parseFont(value))
elif attrib == 'zPosition':
guiObject.setZPosition(int(value))
- # that __deref__ still scares me!
- desktop.makeCompatiblePixmap(ptr.__deref__())
- guiObject.setPixmap(ptr.__deref__())
+ desktop.makeCompatiblePixmap(ptr)
+ if attrib == "pixmap":
+ guiObject.setPixmap(ptr)
+ elif attrib == "backgroundPixmap":
+ guiObject.setBackgroundPicture(ptr)
+ elif attrib == "selectionPixmap":
+ guiObject.setSelectionPicture(ptr)
- desktop.makeCompatiblePixmap(ptr.__deref__())
- guiObject.setPointer({"pointer": 0, "seek_pointer": 1}[attrib], ptr.__deref__(), pos)
+ desktop.makeCompatiblePixmap(ptr)
+ guiObject.setPointer({"pointer": 0, "seek_pointer": 1}[attrib], ptr, pos)
- desktop.makeCompatiblePixmap(png.__deref__())
- style.setPixmap(eWindowStyleSkinned.__dict__[bsName], eWindowStyleSkinned.__dict__[bpName], png.__deref__())
+ desktop.makeCompatiblePixmap(png)
+ style.setPixmap(eWindowStyleSkinned.__dict__[bsName], eWindowStyleSkinned.__dict__[bpName], png)
for color in elementsWithTag(windowstyle.childNodes, "color"):
type = str(color.getAttribute("name"))
for color in elementsWithTag(windowstyle.childNodes, "color"):
type = str(color.getAttribute("name"))
return None, None
def readSkin(screen, skin, name, desktop):
return None, None
def readSkin(screen, skin, name, desktop):
-
- myscreen, path = lookupScreen(name)
-
+ if not isinstance(name, list):
+ name = [name]
+
+ # try all skins, first existing one have priority
+ for n in name:
+ myscreen, path = lookupScreen(n)
+ if myscreen is not None:
+ break
+
# otherwise try embedded skin
myscreen = myscreen or getattr(screen, "parsedSkin", None)
# otherwise try embedded skin
myscreen = myscreen or getattr(screen, "parsedSkin", None)
if myscreen is None and getattr(screen, "skin", None):
myscreen = screen.parsedSkin = xml.dom.minidom.parseString(screen.skin).childNodes[0]
if myscreen is None and getattr(screen, "skin", None):
myscreen = screen.parsedSkin = xml.dom.minidom.parseString(screen.skin).childNodes[0]