git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove unneeded code
[enigma2.git]
/
skin.py
diff --git
a/skin.py
b/skin.py
index 07213915e404de20767e225993fc0a07364c25e3..d40c593b832017ecfdbd44951b2124a93c3f595c 100644
(file)
--- a/
skin.py
+++ b/
skin.py
@@
-6,6
+6,7
@@
from enigma import eSize, ePoint, gFont, eWindow, eLabel, ePixmap, eWindowStyleM
from Components.config import ConfigSubsection, ConfigText, config
from Components.Converter.Converter import Converter
from Components.config import ConfigSubsection, ConfigText, config
from Components.Converter.Converter import Converter
+from Components.Sources.Source import Source
from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS
from Tools.Import import my_import
from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE, SCOPE_FONTS
from Tools.Import import my_import
@@
-13,6
+14,9
@@
from Tools.XMLTools import elementsWithTag, mergeText
colorNames = dict()
colorNames = dict()
+def queryColor(colorName):
+ return colorNames.get(colorName)
+
def dump(x, i=0):
print " " * i + str(x)
try:
def dump(x, i=0):
print " " * i + str(x)
try:
@@
-88,7
+92,7
@@
def collectAttributes(skinAttributes, node, skin_path_prefix=None, ignore=[]):
# TODO: localization? as in e1?
value = a.value.encode("utf-8")
# TODO: localization? as in e1?
value = a.value.encode("utf-8")
- if attrib in ["pixmap", "pointer", "seek_pointer"]:
+ if attrib in ["pixmap", "pointer", "seek_pointer"
, "backgroundPixmap", "selectionPixmap"
]:
value = resolveFilename(SCOPE_SKIN_IMAGE, value, path_prefix=skin_path_prefix)
if attrib not in ignore:
value = resolveFilename(SCOPE_SKIN_IMAGE, value, path_prefix=skin_path_prefix)
if attrib not in ignore:
@@
-115,10
+119,15
@@
def applySingleAttribute(guiObject, desktop, attrib, value):
guiObject.setFont(parseFont(value))
elif attrib == 'zPosition':
guiObject.setZPosition(int(value))
guiObject.setFont(parseFont(value))
elif attrib == 'zPosition':
guiObject.setZPosition(int(value))
- elif attrib
== "pixmap"
:
+ elif attrib
in ["pixmap", "backgroundPixmap", "selectionPixmap"]
:
ptr = loadPixmap(value) # this should already have been filename-resolved.
desktop.makeCompatiblePixmap(ptr)
ptr = loadPixmap(value) # this should already have been filename-resolved.
desktop.makeCompatiblePixmap(ptr)
- guiObject.setPixmap(ptr)
+ if attrib == "pixmap":
+ guiObject.setPixmap(ptr)
+ elif attrib == "backgroundPixmap":
+ guiObject.setBackgroundPicture(ptr)
+ elif attrib == "selectionPixmap":
+ guiObject.setSelectionPicture(ptr)
# guiObject.setPixmapFromFile(value)
elif attrib == "alphatest": # used by ePixmap
guiObject.setAlphatest(
# guiObject.setPixmapFromFile(value)
elif attrib == "alphatest": # used by ePixmap
guiObject.setAlphatest(
@@
-281,9
+290,15
@@
def lookupScreen(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)
@@
-291,7
+306,7
@@
def readSkin(screen, skin, name, desktop):
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]
- assert myscreen is not None, "no skin for screen '" +
name
+ "' found!"
+ assert myscreen is not None, "no skin for screen '" +
repr(name)
+ "' found!"
screen.skinAttributes = [ ]
screen.skinAttributes = [ ]
@@
-334,7
+349,13
@@
def readSkin(screen, skin, name, desktop):
# get corresponding source
source = screen.get(wsource)
if source is None:
# get corresponding source
source = screen.get(wsource)
if source is None:
- raise SkinError("source '" + wsource + "' was not found in screen '" + name + "'!")
+ if wsource == "fake":
+ if screen.get("fake"):
+ raise SkinError("screen '" + name + "has a element named 'fake' but its not a Source!!")
+ source = Source()
+ screen["fake"] = source
+ else:
+ raise SkinError("source '" + wsource + "' was not found in screen '" + name + "'!")
wrender = widget.getAttribute('render')
wrender = widget.getAttribute('render')