X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/3a9a9d2a3eb9cb382b1ccaa978c532d2423dfe73..4404768ce6bb07bf2784da7806444acd462c3a33:/lib/python/Screens/Menu.py diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py index da07be16..113eeb6d 100644 --- a/lib/python/Screens/Menu.py +++ b/lib/python/Screens/Menu.py @@ -7,11 +7,10 @@ from Components.Label import Label from Components.ProgressBar import ProgressBar from Components.config import configfile from Components.Sources.Clock import Clock +from Components.PluginComponent import plugins from Tools.Directories import resolveFilename, SCOPE_SKIN -from enigma import quitMainloop - import xml.dom.minidom from xml.dom import EMPTY_NAMESPACE from skin import elementsWithTag @@ -23,7 +22,6 @@ from Tools import XMLTools # self.setModeTV() # self.setModeRadio() # self.setModeFile() -# self.openDialog(ScartLoopThrough) # @@ -62,9 +60,9 @@ menuupdater = MenuUpdater() class MenuSummary(Screen): skin = """ - - - + + + WithSeconds """ @@ -89,6 +87,9 @@ class MenuSummary(Screen): self["MenuEntry"].setText(self.parent["menu"].getCurrent()[0]) class Menu(Screen): + + ALLOW_SUSPEND = True + def okbuttonClick(self): print "okbuttonClick" selection = self["menu"].getCurrent() @@ -106,14 +107,14 @@ class Menu(Screen): # FIXME. somehow if arg[0] != "": exec "from " + arg[0] + " import *" - + self.openDialog(*eval(arg[1])) - def nothing(self): #dummy + def nothing(self): #dummy pass def openDialog(self, *dialog): # in every layer needed - self.session.open(*dialog) + self.session.openWithCallback(self.menuClosed, *dialog) def openSetup(self, dialog): self.session.openWithCallback(self.menuClosed, Setup, dialog) @@ -180,9 +181,8 @@ class Menu(Screen): Screen.__init__(self, session) list = [] - menuID = "" - - menuID = -1 + + menuID = None for x in childNode: #walk through the actual nodelist if x.nodeType != xml.dom.minidom.Element.nodeType: continue @@ -195,13 +195,19 @@ class Menu(Screen): elif x.tagName == "id": menuID = x.getAttribute("val") count = 0 - if menuID != -1: + + if menuID is not None: + # menuupdater? if menuupdater.updatedMenuAvailable(menuID): for x in menuupdater.getUpdatedMenu(menuID): if x[1] == count: list.append((x[0], boundFunction(self.runScreen, (x[2], x[3] + ", ")))) count += 1 + if menuID is not None: + # plugins + for l in plugins.getPluginsForMenu(menuID): + list.append((l[0], boundFunction(l[1], self.session))) self["menu"] = MenuList(list) @@ -233,21 +239,3 @@ class MainMenu(Menu): def __init__(self, *x): Menu.__init__(self, *x) self.skinName = "Menu" - - def openDialog(self, dialog): - self.session.open(dialog) - - def openSetup(self, dialog): - self.session.open(Setup, dialog) - - def setModeTV(self): - print "set Mode to TV" - pass - - def setModeRadio(self): - print "set Mode to Radio" - pass - - def setModeFile(self): - print "set Mode to File" - pass