From f2a67250266080d05742d961e544e7b8fba2611a Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Fri, 14 Sep 2007 12:26:07 +0000 Subject: allow different skins by specifying a list as skinName, use menu_ as alternative skin for menus --- skin.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'skin.py') 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 = [ ] -- cgit v1.2.3