- fixed console input mode restore
[enigma2.git] / screens.py
index 3dbcb4a..72f0946 100644 (file)
@@ -1,5 +1,6 @@
 from components import *
 import sys
+from enigma import quitMainloop
 
 # some screens
 def doGlobal(screen):
@@ -15,54 +16,79 @@ class Screen(dict, HTMLSkin, GUISkin):
        def close(self, retval=None):
                self.session.close()
        
-# a test dialog
-class testDialog(Screen):
-       def testDialogClick(self):
-               selection = self["menu"].getCurrent()
-               selection[1]()
+class mainMenu(Screen):
        
-       def goMain(self):
-               self.session.open(screens["mainMenu"]())
-               
        def goEmu(self):
-#              self.close(1)
                self["title"].setText("EMUs ARE ILLEGAL AND NOT SUPPORTED!")
        
        def goTimeshift(self):
-#              self.close(2)
                self["title"].setText("JUST PRESS THE YELLOW BUTTON!")
        
        def goHDTV(self):
-#              self.close(3)
                self["title"].setText("HDTV GREEN FLASHES: ENABLED")
        
+       def goScan(self):
+               self.session.open(serviceScan())
+       
        def goClock(self):
-               self.session.open(screens["clockDisplay"](Clock()))
+               self.session.open(clockDisplay(Clock()))
+
+       def okbuttonClick(self):
+               selection = self["menu"].getCurrent()
+               selection[1]()
 
        def __init__(self):
                GUISkin.__init__(self)
                b = Button("ok")
-               b.onClick = [ self.testDialogClick ]
+
+               b.onClick = [ self.okbuttonClick ]
                self["okbutton"] = b
-               self["title"] = Header("Test Dialog - press ok to leave!")
+               self["title"] = Header("Main Menu! - press ok to leave!")
                self["menu"] = MenuList(
                        [
-                               ("MAIN MENU", self.goMain), 
+                               ("Close Main Menu", self.close),
+                               ("Service Scan", self.goScan),
+                               ("Quit", quitMainloop),
                                ("EMU SETUP", self.goEmu),
                                ("TIMESHIFT SETUP", self.goTimeshift),
                                ("HDTV PIP CONFIG", self.goHDTV),
                                ("wie spaet ists?!", self.goClock)
                        ])
 
-class mainMenu(Screen):
+#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):
                GUISkin.__init__(self)
                
-               self["title"] = Header("this is the\nMAIN MENU !!!");
-               self["okbutton"] = Button("ok")
-               self["okbutton"].onClick = [ self.close ]
+               self["list"] = ServiceList()
+               self["list"].setRoot(eServiceReference("1:0:1:0:0:0:0:0:0:0:PREMIERE"))
+               
+               self["okbutton"] = Button("ok", [self.channelSelected, self.close])
 
+       def channelSelected(self):
+#              print "channel selected!"
+               pass
+
+class infoBar(Screen):
+       def __init__(self):
+               GUISkin.__init__(self)
+               
+               self["channelSwitcher"] = Button("switch Channel", [self.switchChannel])
+               self["okbutton"] = Button("mainMenu", [self.mainMenu])
        
+       def mainMenu(self):
+               self.session.open(mainMenu())
+               
+       def switchChannel(self):
+               self.session.open(channelSelection())
+
 # a clock display dialog
 class clockDisplay(Screen):
        def okbutton(self):
@@ -76,10 +102,18 @@ class clockDisplay(Screen):
                self["okbutton"] = b
                self["title"] = Header("clock dialog: here you see the current uhrzeit!")
 
-# defined screens (evtl. kann man sich das sparen, ich seh den sinn gerade nicht mehr)
-screens = {
-       "global": doGlobal,
-       "testDialog": testDialog,
-       "clockDisplay": clockDisplay ,
-       "mainMenu": mainMenu }
 
+class serviceScan(Screen):
+       def ok(self):
+               if self["scan"].isDone():
+                       self.close()
+       
+       def __init__(self):
+               GUISkin.__init__(self)
+               
+               self["scan_progress"] = ProgressBar()
+               self["scan_state"] = Label("scan state")
+               self["scan"] = ServiceScan(self["scan_progress"], self["scan_state"])
+
+               self["okbutton"] = Button("ok", [self.ok])
+               self["okbutton"].disable()