X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/67b53c1cb06988394c35a6e965c99b72b67fe1be..79cab0403882bf14a34828b75f50a34d445851a6:/lib/python/Components/GUISkin.py diff --git a/lib/python/Components/GUISkin.py b/lib/python/Components/GUISkin.py index 0fb94214..0cf4d027 100644 --- a/lib/python/Components/GUISkin.py +++ b/lib/python/Components/GUISkin.py @@ -10,10 +10,18 @@ class GUISkin: self.summaries = CList() def createGUIScreen(self, parent, desktop): - for val in self.values() + self.renderer: + for val in self.renderer: if isinstance(val, GUIComponent): val.GUIcreate(parent) - val.applySkin(desktop) + if not val.applySkin(desktop): + print "warning, skin is missing renderer", val, "in", self + + for key in self: + val = self[key] + if isinstance(val, GUIComponent): + val.GUIcreate(parent) + if not val.applySkin(desktop): + print "warning, skin is missing element", key, "in", self for w in self.additionalWidgets: w.instance = w.widget(parent) @@ -27,9 +35,14 @@ class GUISkin: f() def deleteGUIScreen(self): + seenFakeSource = False for (name, val) in self.items(): + if name == "fake": + seenFakeSource = True if isinstance(val, GUIComponent): val.GUIdelete() + if seenFakeSource: + del self["fake"] def close(self): self.deleteGUIScreen()