- fixed dvb scan
[enigma2.git] / screens.py
index 50a9ddace0f15c1b59b62121fe40b21a75246f99..6aa88e803ca34cda142202ef13642dc5c466fa40 100644 (file)
@@ -8,18 +8,33 @@ def doGlobal(screen):
 class Screen(dict, HTMLSkin, GUISkin):
        """ bla """
        
-       def close(self):
+       # never call this directly - it will be called from the session!
+       def doClose(self):
                GUISkin.close(self)
        
+       def close(self, retval=None):
+               self.session.close()
+       
 # a test dialog
 class testDialog(Screen):
        def testDialogClick(self):
-               if self.tries == 0:
-                       self["title"].setText("Hihi - no, this doesn't work!")
-               else:
-                       self["title"].setText("You tried it %d times without success now!" % self.tries )
-
-               self.tries += 1
+               selection = self["menu"].getCurrent()
+               selection[1]()
+       
+       def goMain(self):
+               self.session.open(screens["mainMenu"]())
+               
+       def goEmu(self):
+               self["title"].setText("EMUs ARE ILLEGAL AND NOT SUPPORTED!")
+       
+       def goTimeshift(self):
+               self["title"].setText("JUST PRESS THE YELLOW BUTTON!")
+       
+       def goHDTV(self):
+               self["title"].setText("HDTV GREEN FLASHES: ENABLED")
+       
+       def goClock(self):
+               self.session.open(screens["clockDisplay"](Clock()))
 
        def __init__(self):
                GUISkin.__init__(self)
@@ -27,15 +42,30 @@ class testDialog(Screen):
                b.onClick = [ self.testDialogClick ]
                self["okbutton"] = b
                self["title"] = Header("Test Dialog - press ok to leave!")
-               self["menu"] = MenuList()
+#              self["menu"] = MenuList(
+#                      [
+#                              ("MAIN MENU", self.goMain), 
+#                              ("EMU SETUP", self.goEmu),
+#                              ("TIMESHIFT SETUP", self.goTimeshift),
+#                              ("HDTV PIP CONFIG", self.goHDTV),
+#                              ("wie spaet ists?!", self.goClock)
+#                      ])
+               self["menu"] = ServiceList()
                
-               self.tries = 0
+               self["menu"].setRoot(eServiceReference("2:0:1:0:0:0:0:0:0:0:/"))
 
+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 ]
+
+       
 # a clock display dialog
 class clockDisplay(Screen):
        def okbutton(self):
-               print "clockDisplay close"
-               
                self.session.close()
        
        def __init__(self, clock):
@@ -46,9 +76,10 @@ class clockDisplay(Screen):
                self["okbutton"] = b
                self["title"] = Header("clock dialog: here you see the current uhrzeit!")
 
-# defined screens
+# defined screens (evtl. kann man sich das sparen, ich seh den sinn gerade nicht mehr)
 screens = {
        "global": doGlobal,
        "testDialog": testDialog,
-       "clockDisplay": clockDisplay }
+       "clockDisplay": clockDisplay ,
+       "mainMenu": mainMenu }