- ask before start/stop record
authorFelix Domke <tmbinc@elitedvb.net>
Tue, 25 Oct 2005 21:41:27 +0000 (21:41 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Tue, 25 Oct 2005 21:41:27 +0000 (21:41 +0000)
lib/python/Screens/InfoBar.py

index c10dad2d6a8573ec47916b02c344ffd7e1884837..73825f251218b72fd33f1ada235b02df118c60bd 100644 (file)
@@ -141,30 +141,42 @@ class InfoBar(Screen):
        def     quit(self):
                configfile.save()
                quitMainloop()
+       
+       def stopCurrentRecording(self): 
+               print "remove entry"
+               self.session.nav.RecordTimer.removeEntry(self.recording)
+               self.recording = None
+       
+       def startInstantRecording(self):
+               serviceref = self.session.nav.getCurrentlyPlayingServiceReference()
+                       
+               # try to get event info
+               epg = None
+               try:
+                       service = self.session.nav.getCurrentService()
+                       info = service.info()
+                       ev = info.getEvent(0)
+                       epg = ev
+               except:
+                       pass
                
+               # fix me, description. 
+               self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 30, serviceref, epg, "instant record")
+
+       def recordQuestionCallback(self, answer):
+               if answer == False:
+                       return
+               
+               if self.recording != None:
+                       self.stopCurrentRecording()
+               else:
+                       self.startInstantRecording()
+
        def instantRecord(self):
-               #self.session.open(MessageBox, "this would be an instant recording! do you really know what you're doing?!")
-               #return
-       
                if self.recording != None:
-                       print "remove entry"
-                       self.session.nav.RecordTimer.removeEntry(self.recording)
-                       self.recording = None
+                       self.session.openWithCallback(self.recordQuestionCallback, MessageBox, "Do you want to stop the current\n(instant) recording?")
                else:
-                       serviceref = self.session.nav.getCurrentlyPlayingServiceReference()
-                       
-                       # try to get event info
-                       epg = None
-                       try:
-                               service = self.session.nav.getCurrentService()
-                               info = service.info()
-                               ev = info.getEvent(0)
-                               epg = ev
-                       except:
-                               pass
-                       
-                       # fix me, description. 
-                       self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 30, serviceref, epg, "instant record")
-       
+                       self.session.openWithCallback(self.recordQuestionCallback, MessageBox, "Start recording?")
+
        def showMovies(self):
                self.session.open(MovieSelection)