aboutsummaryrefslogtreecommitdiff
path: root/skin.py
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-09-14 12:26:07 +0000
committerFelix Domke <tmbinc@elitedvb.net>2007-09-14 12:26:07 +0000
commitf2a67250266080d05742d961e544e7b8fba2611a (patch)
tree23f10e3346e826cbb6c5e924726d8ee961b89d0c /skin.py
parenta029953596adaed49a5b0346acd5a867eff91a57 (diff)
downloadenigma2-f2a67250266080d05742d961e544e7b8fba2611a.tar.gz
enigma2-f2a67250266080d05742d961e544e7b8fba2611a.zip
allow different skins by specifying a list as skinName, use menu_<menuid> as alternative skin for menus
Diffstat (limited to 'skin.py')
-rw-r--r--skin.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/skin.py b/skin.py
index 3b448127..13d56cf1 100644
--- a/skin.py
+++ b/skin.py
@@ -286,9 +286,15 @@ def lookupScreen(name):
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)
@@ -296,7 +302,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]
- 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 = [ ]