X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FMenu.py;h=11b265e38bd80ecb6ac914d1c503e0b9b4f7691d;hp=ce73a954be9dda87595c70f2d02397186752246d;hb=301bab11f8453a6899153b7be338a352803b22cb;hpb=a4da9cccc2575c4bf299bde9594dad3e049ddf6a diff --git a/lib/python/Screens/Menu.py b/lib/python/Screens/Menu.py index ce73a95..11b265e 100644 --- a/lib/python/Screens/Menu.py +++ b/lib/python/Screens/Menu.py @@ -4,6 +4,7 @@ from Components.ActionMap import ActionMap from Components.Header import Header # hack ... must be made dynamic +from Screens.Setup import Setup from ServiceScan import ServiceScan from ScartLoopThrough import ScartLoopThrough from Components.Button import Button @@ -11,74 +12,70 @@ from Components.Label import Label from Components.ProgressBar import ProgressBar from ConfigMenu import * +from About import * + +from TimerEdit import * + from enigma import quitMainloop import xml.dom.minidom from xml.dom import EMPTY_NAMESPACE from skin import elementsWithTag +from Tools import XMLTools + # some screens def doGlobal(screen): screen["clock"] = Clock() +# self.setModeTV() +# self.setModeRadio() +# self.setModeFile() +# self.openDialog(ScartLoopThrough) +# + mdom = xml.dom.minidom.parseString( """ - + quitMainloop() - self.openDialog(ServiceScan) - - self.setModeTV() - self.setModeRadio() - self.setModeFile() - self.openDialog(ScartLoopThrough) - + self.openDialog(TimerEditList) - + - - - - + self.openSetup("satconfig") + + + self.openDialog(ServiceScan) - - - - - + self.openSetup("timezone") + self.openSetup("avsetup") + self.openSetup("rfmod") - - self.openDialog(configOSD) - - + self.openSetup("rc") + self.openSetup("keyboard") + self.openSetup("osd") + self.openSetup("lcd") - - + self.openSetup("parental") + self.openSetup("expert") - - + + self.openDialog(About) - - - - self.goSetup() + quitMainloop() + quitMainloop() + quitMainloop() """) -def getText(nodelist): - rc = "" - for node in nodelist: - if node.nodeType == node.TEXT_NODE: - rc = rc + node.data - return rc - def getValbyAttr(x, attr): for p in range(x.attributes.length): a = x.attributes.item(p) @@ -125,38 +122,9 @@ class configOSD(Screen): self["sld_gamma"] = ProgressBar() self["sld_gamma"].setValue(50) - - - class Menu(Screen): - #add file load functions for the xml-file - #remove old code (i.e. goScan / goClock...) - - def openDialog(self, dialog): - self.session.open(dialog) - - def goSetup(self): - self.session.open(configTest) - - 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 - - def goScan(self): - self.session.open(ServiceScan) - - def goClock(self): - self.session.open(clockDisplay, Clock()) - def okbuttonClick(self): + print "okbuttonClick" selection = self["menu"].getCurrent() selection[1]() @@ -166,6 +134,12 @@ class Menu(Screen): def nothing(self): #dummy pass + def openDialog(self, dialog): # in every layer needed + self.session.open(dialog) + + def openSetup(self, dialog): + self.session.open(Setup, dialog) + def addMenu(self, destList, node): MenuTitle = getValbyAttr(node, "text") if MenuTitle != "": #check for title @@ -176,7 +150,7 @@ class Menu(Screen): def addItem(self, destList, node): ItemText = getValbyAttr(node, "text") if ItemText != "": #check for name - b = getText(node.childNodes) + b = XMLTools.mergeText(node.childNodes) if b != "": #check for function destList.append((ItemText,boundFunction(self.evalText,b))) else: @@ -208,3 +182,56 @@ class Menu(Screen): a = getValbyAttr(parent, "text") self["title"] = Header(a) +class FixedMenu(Screen): + def okbuttonClick(self): + selection = self["menu"].getCurrent() + selection[1]() + + def __init__(self, session, title, list): + Screen.__init__(self, session) + + self["menu"] = MenuList(list) + + self["actions"] = ActionMap(["OkCancelActions"], + { + "ok": self.okbuttonClick, + "cancel": self.close + }) + + self["title"] = Header(title) + + +class MainMenu(Menu): + #add file load functions for the xml-file + #remove old code (i.e. goScan / goClock...) + + 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 goSetup(self): + self.session.open(configTest) + + 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 + + def goScan(self): + self.session.open(ServiceScan) + + def goClock(self): + self.session.open(clockDisplay, Clock())