X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6c2d3fc303542b7f77f4350974acf781a1b91c30..d43e4676bd757d1de73b8dd669154ffd42192b10:/lib/python/Screens/Menu.py diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py index 2a7055cf..f1a01348 100644 --- a/lib/python/Screens/Menu.py +++ b/lib/python/Screens/Menu.py @@ -78,9 +78,9 @@ menuupdater = MenuUpdater() class MenuSummary(Screen): skin = """ - - - + + + """ def __init__(self, session, parent): @@ -88,9 +88,19 @@ class MenuSummary(Screen): self["MenuTitle"] = Label(parent.menu_title) self["MenuEntry"] = Label("") self["Clock"] = Clock() + self.parent = parent + self.onShow.append(self.addWatcher) + self.onHide.append(self.removeWatcher) + + def addWatcher(self): + self.parent["menu"].onSelectionChanged.append(self.selectionChanged) + self.selectionChanged() + + def removeWatcher(self): + self.parent["menu"].onSelectionChanged.remove(self.selectionChanged) - def setCurrentEntry(self, entry): - self["MenuEntry"].setText(entry) + def selectionChanged(self): + self["MenuEntry"].setText(self.parent["menu"].getCurrent()[0]) class Menu(Screen): def okbuttonClick(self): @@ -203,7 +213,6 @@ class Menu(Screen): self["menu"] = MenuList(list) - self["menu"].onSelectionChanged.append(self.selectionChanged) self["actions"] = ActionMap(["OkCancelActions", "MenuActions"], { @@ -227,11 +236,6 @@ class Menu(Screen): def createSummary(self): return MenuSummary - def selectionChanged(self): - entry = self["menu"].getCurrent()[0] - for x in self.summaries: - x.setCurrentEntry(entry) - class MainMenu(Menu): #add file load functions for the xml-file