- press 'r' for instant record
[enigma2.git] / screens.py
index ec81c2d5ef99e8942b2dd6007f28b18fa7e296a1..df0870afb5619d07c076a42af5d3cc1a148f4fdf 100644 (file)
@@ -47,6 +47,9 @@ class Screen(dict, HTMLSkin, GUISkin):
 mdom = xml.dom.minidom.parseString(
         """
        <menu text="Mainmenu" title="the real Mainmenu">
+               <item text="Standby debug">quitMainloop()</item>
+               <item text="Automatic Scan">self.openDialog(serviceScan)</item>
+
                <item text="TV-Mode">self.setModeTV()</item>
                <item text="Radio-Mode">self.setModeRadio()</item>
                <item text="File-Mode">self.setModeFile()</item>
@@ -89,7 +92,6 @@ mdom = xml.dom.minidom.parseString(
                        <item text="Standby"></item>
                        <item text="Sleep Timer">self.goSetup()</item>
                </menu>
-               <item text="Standby debug">quitMainloop()</item>
        </menu>""")
 
 def getText(nodelist):
@@ -304,7 +306,7 @@ class channelSelection(Screen):
                        self["list"].removeMarked(ref)
                else:
                        self["list"].addMarked(ref)
-               
+                       
        def channelSelected(self):
                self.session.nav.playService(self["list"].getCurrent())
                self.close()
@@ -323,14 +325,15 @@ class infoBar(Screen):
                Screen.__init__(self, session)
 
                #instantiate forever
-               self["ServiceList"] = self.session.instantiateDialog(channelSelection)
+               self.servicelist = self.session.instantiateDialog(channelSelection)
                
                self["actions"] = ActionMap( [ "InfobarActions" ], 
                        {
                                "switchChannel": self.switchChannel,
                                "mainMenu": self.mainMenu,
                                "zapUp": self.zapUp,
-                               "zapDown": self.zapDown
+                               "zapDown": self.zapDown,
+                               "instantRecord": self.instantRecord
                        })
                self["okbutton"] = Button("mainMenu", [self.mainMenu])
                
@@ -343,6 +346,8 @@ class infoBar(Screen):
 
                self["Event_Now_Duration"] = EventInfo(self.session.nav, EventInfo.Now_Duration)
                self["Event_Next_Duration"] = EventInfo(self.session.nav, EventInfo.Next_Duration)
+               
+               self.recording = 0
        
        def mainMenu(self):
                print "loading mainmenu XML..."
@@ -351,13 +356,21 @@ class infoBar(Screen):
                self.session.open(Menu, menu, menu.childNodes)
 
        def switchChannel(self):        
-               self.session.execDialog(self["ServiceList"])
+               self.session.execDialog(self.servicelist)
 
        def     zapUp(self):
-               self["ServiceList"].zapUp()
+               self.servicelist.zapUp()
 
        def     zapDown(self):
-               self["ServiceList"].zapDown()
+               self.servicelist.zapDown()
+               
+       def instantRecord(self):
+               if self.recording:
+                       self.session.nav.endRecording()
+                       self.recording = 0
+               else:
+                       self.session.nav.recordService(self.session.nav.getCurrentlyPlayingServiceReference())
+                       self.recording = 1
 
 # a clock display dialog
 class clockDisplay(Screen):