From: Felix Domke Date: Fri, 14 Sep 2007 12:26:07 +0000 (+0000) Subject: allow different skins by specifying a list as skinName, use menu_ as alternat... X-Git-Tag: 2.6.0~1923 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/f2a67250266080d05742d961e544e7b8fba2611a allow different skins by specifying a list as skinName, use menu_ as alternative skin for menus --- diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py index 1b0ef1a3..5ff929c6 100644 --- a/lib/python/Screens/Menu.py +++ b/lib/python/Screens/Menu.py @@ -205,8 +205,14 @@ class Menu(Screen): for l in plugins.getPluginsForMenu(menuID): list.append((l[0], boundFunction(l[1], self.session))) + # for the skin: first try a menu_, then Menu + self.skinName = [ ] + if menuID is not None: + self.skinName.append("menu_" + menuID) + self.skinName.append("Menu") + self["menu"] = List(list) - + self["actions"] = ActionMap(["OkCancelActions", "MenuActions"], { "ok": self.okbuttonClick, @@ -233,5 +239,5 @@ class MainMenu(Menu): #add file load functions for the xml-file def __init__(self, *x): - Menu.__init__(self, *x) self.skinName = "Menu" + Menu.__init__(self, *x) 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 = [ ]