From: acid-burn Date: Tue, 13 Oct 2009 21:02:22 +0000 (+0200) Subject: Components/GUISkin.py: - add possibility to access the Screen title from inside the... X-Git-Tag: 2.6.0~18 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/755936c5114029219a6800b81b74ffdfbcbbfe30 Components/GUISkin.py: - add possibility to access the Screen title from inside the skin without the need to declare it inside every Screen. Just use self.setTitle(_("yourTitle)") inside your Screens onLayoutFinish to set the Title and access it from your skinfile over for example: if needed like inside fullscreen screens where no Border is drawn. --- diff --git a/lib/python/Components/GUISkin.py b/lib/python/Components/GUISkin.py old mode 100644 new mode 100755 index 1bd27297..4ee8a4a3 --- a/lib/python/Components/GUISkin.py +++ b/lib/python/Components/GUISkin.py @@ -1,11 +1,13 @@ from GUIComponent import GUIComponent from skin import applyAllAttributes from Tools.CList import CList +from Sources.StaticText import StaticText class GUISkin: __module__ = __name__ def __init__(self): + self["Title"] = StaticText() self.onLayoutFinish = [ ] self.summaries = CList() self.instance = None @@ -63,9 +65,14 @@ class GUISkin: def setTitle(self, title): self.instance.setTitle(title) - self.title = title + self["Title"].text = title self.summaries.setTitle(title) + def getTitle(self): + return self["Title"].text + + title = property(getTitle, setTitle) + def setDesktop(self, desktop): self.desktop = desktop @@ -88,6 +95,6 @@ class GUISkin: # we need to make sure that certain attributes come last self.skinAttributes.sort(key=lambda a: {"position": 1}.get(a[0], 0)) - self.title = title + self["Title"].text = title applyAllAttributes(self.instance, self.desktop, self.skinAttributes, self.scale) self.createGUIScreen(self.instance, self.desktop)