X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=skin.py;h=52b55360ed61e344c284386f3b21dd2cef7a7d57;hb=d65f7aabad4334414491dc4ab3bcf0fe5e604e2e;hp=ecd4355e28eb04fb6446da48465282b6e14cc861;hpb=312a7a58ea41e410d503aa34ea75b3a1d1d833ac;p=vuplus_dvbapp diff --git a/skin.py b/skin.py index ecd4355..52b5536 100644 --- a/skin.py +++ b/skin.py @@ -4,7 +4,7 @@ from xml.dom import EMPTY_NAMESPACE from Tools.Import import my_import import os -from Components.config import ConfigSubsection, configElement, configText, config +from Components.config import ConfigSubsection, ConfigText, config from Components.Element import Element from Components.Converter.Converter import Converter @@ -49,11 +49,11 @@ def loadSkin(name): # example: loadSkin("nemesis_greenline/skin.xml") config.skin = ConfigSubsection() -config.skin.primary_skin = configElement("config.skin.primary_skin", configText, "skin.xml", 0) +config.skin.primary_skin = ConfigText(default = "skin.xml") try: loadSkin(config.skin.primary_skin.value) -except SkinError, err: +except (SkinError, IOError), err: print "SKIN ERROR:", err print "defaulting to standard skin..." loadSkin('skin.xml') @@ -89,7 +89,7 @@ def collectAttributes(skinAttributes, node, skin_path_prefix=None, ignore=[]): # TODO: localization? as in e1? value = a.value.encode("utf-8") - if attrib in ["pixmap", "pointer"]: + if attrib in ["pixmap", "pointer", "seek_pointer"]: value = resolveFilename(SCOPE_SKIN_IMAGE, value, path_prefix=skin_path_prefix) if attrib not in ignore: @@ -184,12 +184,12 @@ def applySingleAttribute(guiObject, desktop, attrib, value): }[value]) elif attrib == "enableWrapAround": guiObject.setWrapAround(True) - elif attrib == "pointer": + elif attrib == "pointer" or attrib == "seek_pointer": (name, pos) = value.split(':') pos = parsePosition(pos) ptr = loadPixmap(name) desktop.makeCompatiblePixmap(ptr.__deref__()) - guiObject.setPointer(ptr.__deref__(), pos) + guiObject.setPointer({"pointer": 0, "seek_pointer": 1}[attrib], ptr.__deref__(), pos) elif attrib == 'shadowOffset': guiObject.setShadowOffset(parsePosition(value)) else: @@ -228,6 +228,7 @@ def loadSingleSkinData(desktop, dom_skin, path_prefix): for windowstyle in elementsWithTag(skin.childNodes, "windowstyle"): style = eWindowStyleSkinned() + id = int(windowstyle.getAttribute("id") or "0") # defaults font = gFont("Regular", 20) @@ -263,7 +264,7 @@ def loadSingleSkinData(desktop, dom_skin, path_prefix): x = eWindowStyleManagerPtr() eWindowStyleManager.getInstance(x) - x.setStyle(style) + x.setStyle(id, style) def loadSkinData(desktop): skins = dom_skins[:]