aboutsummaryrefslogtreecommitdiff
path: root/skin.py
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-03-03 19:45:25 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-03-03 19:45:25 +0000
commitd26dbdee8fb2a5ca6fa87878d9daffaf7d3575a8 (patch)
tree399da2e27b89096e958e21232093538249e4908d /skin.py
parent232de34f743061ff056b6208f1cf22d88ab755d3 (diff)
downloadenigma2-d26dbdee8fb2a5ca6fa87878d9daffaf7d3575a8.tar.gz
enigma2-d26dbdee8fb2a5ca6fa87878d9daffaf7d3575a8.zip
split out dialogs into skin_default.xml
Diffstat (limited to 'skin.py')
-rw-r--r--skin.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/skin.py b/skin.py
index 30160161..a4d43f24 100644
--- a/skin.py
+++ b/skin.py
@@ -17,10 +17,8 @@ def dump(x, i=0):
from Tools.Directories import resolveFilename, SCOPE_SKIN, SCOPE_SKIN_IMAGE
# read the skin
-skinfile = file(resolveFilename(SCOPE_SKIN, 'skin.xml'), 'r')
-dom = xml.dom.minidom.parseString(skinfile.read())
-skinfile.close()
-
+dom_skin = xml.dom.minidom.parse(resolveFilename(SCOPE_SKIN, 'skin.xml'))
+dom_skin_default = xml.dom.minidom.parse(resolveFilename(SCOPE_SKIN, 'skin_default.xml'))
def parsePosition(str):
x, y = str.split(',')
@@ -155,7 +153,7 @@ def applyAllAttributes(guiObject, desktop, attributes):
def loadSkin(desktop):
print "loading skin..."
- skin = dom.childNodes[0]
+ skin = dom_skin.childNodes[0]
assert skin.tagName == "skin", "root element in skin must be 'skin'!"
for c in elementsWithTag(skin.childNodes, "colors"):
@@ -203,14 +201,24 @@ def readSkin(screen, skin, name, desktop):
myscreen = None
# first, find the corresponding screen element
- skin = dom.childNodes[0]
+ skin = dom_skin.childNodes[0]
+ skin_default = dom_skin_default.childNodes[0]
for x in elementsWithTag(skin.childNodes, "screen"):
if x.getAttribute('name') == name:
myscreen = x
- del skin
+ break
+
+ # if not found, check default skin
+ if myscreen is None:
+ for x in elementsWithTag(skin_default.childNodes, "screen"):
+ if x.getAttribute('name') == name:
+ myscreen = x
+ break
+
+ del skin, skin_default
- # try embedded skin
+ # otherwise try embedded skin
myscreen = myscreen or getattr(screen, "parsedSkin", None)
# try uncompiled embedded skin