X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/3af66122574386a2856e83ba9c5d73d27a6f3710..f46f0bbfd9d9cdcd667b79904ad9ee844e2f4ba0:/screens.py diff --git a/screens.py b/screens.py index 82646282..98cc7cbb 100644 --- a/screens.py +++ b/screens.py @@ -15,17 +15,22 @@ class Screen(dict, HTMLSkin, GUISkin): GUISkin.__init__(self) def execBegin(self): +# assert self.session == None, "a screen can only exec one per time" +# self.session = session for (name, val) in self.items(): val.execBegin() def execEnd(self): for (name, val) in self.items(): val.execEnd() +# assert self.session != None, "execEnd on non-execing screen!" +# self.session = None # never call this directly - it will be called from the session! def doClose(self): GUISkin.close(self) + del self.session for (name, val) in self.items(): print "%s -> %d" % (name, sys.getrefcount(val)) del self[name] @@ -33,10 +38,29 @@ class Screen(dict, HTMLSkin, GUISkin): def close(self, retval=None): self.session.close() +class configTest(Screen): + + def __init__(self, session): + Screen.__init__(self, session) + + + self["config"] = ConfigList( + [ + configEntry("HKEY_LOCAL_ENIGMA/IMPORTANT/USER_ANNOYING_STUFF/SDTV/FLASHES/GREEN"), + configEntry("HKEY_LOCAL_ENIGMA/IMPORTANT/USER_ANNOYING_STUFF/HDTV/FLASHES/GREEN"), + ]) + + self["actions"] = ActionMap(["OkCancelActions"], + { + "ok": self["config"].toggle, + "cancel": self.close + }) + + class mainMenu(Screen): - def goEmu(self): - self["title"].setText("EMUs ARE ILLEGAL AND NOT SUPPORTED!") + def goSetup(self): + self.session.open(configTest) def goTimeshift(self): self["title"].setText("JUST PRESS THE YELLOW BUTTON!") @@ -72,20 +96,12 @@ class mainMenu(Screen): ("Close Main Menu", self.close), ("Service Scan", self.goScan), ("Quit", quitMainloop), - ("EMU SETUP", self.goEmu), + ("setup", self.goSetup), ("TIMESHIFT SETUP", self.goTimeshift), ("HDTV PIP CONFIG", self.goHDTV), ("wie spaet ists?!", self.goClock) ]) -#class mainMenu(Screen): -# def __init__(self): -# GUISkin.__init__(self) -# -# self["title"] = Header("this is the\nMAIN MENU !!!"); -# self["okbutton"] = Button("ok") -# self["okbutton"].onClick = [ self.close ] - class channelSelection(Screen): def __init__(self, session): Screen.__init__(self, session) @@ -165,9 +181,13 @@ class clockDisplay(Screen): class serviceScan(Screen): def ok(self): + print "ok" if self["scan"].isDone(): self.close() + def cancel(self): + print "cancel not yet implemented ;)" + def __init__(self, session): Screen.__init__(self, session) @@ -175,5 +195,9 @@ class serviceScan(Screen): self["scan_state"] = Label("scan state") self["scan"] = ServiceScan(self["scan_progress"], self["scan_state"]) - self["okbutton"] = Button("ok", [self.ok]) - self["okbutton"].disable() + self["actions"] = ActionMap(["OkCancelActions"], + { + "ok": self.ok, + "cancel": self.cancel + }) +