X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FMenu.py;h=113eeb6d06c9634723ef88d89fbf2288cedf5c5a;hp=da07be16b19a421539ba2d804c2c894eb82cb35a;hb=674719294af7449c52d93b1969aeebbaa9117cbe;hpb=3a9a9d2a3eb9cb382b1ccaa978c532d2423dfe73 diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py index da07be1..113eeb6 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