restart previous running services in onClose event
[enigma2.git] / lib / python / Screens / InfoBarGenerics.py
index 6ece278425f30c32dd6f52844fd34f7414dc716a..85f342003be3674a3e322ee1f6f260805425f755 100644 (file)
@@ -730,14 +730,14 @@ class InfoBarSeek:
                return True
 
        def __seekableStatusChanged(self):
-               print "seekable status changed!"
+#              print "seekable status changed!"
                if not self.isSeekable():
                        self["SeekActions"].setEnabled(False)
-                       print "not seekable, return to play"
+#                      print "not seekable, return to play"
                        self.setSeekState(self.SEEK_STATE_PLAY)
                else:
                        self["SeekActions"].setEnabled(True)
-                       print "seekable"
+#                      print "seekable"
 
        def __serviceStarted(self):
                self.seekstate = self.SEEK_STATE_PLAY
@@ -1170,8 +1170,8 @@ class InfoBarTimeshift:
        def __seekableStatusChanged(self):
                enabled = False
 
-               print "self.isSeekable", self.isSeekable()
-               print "self.timeshift_enabled", self.timeshift_enabled
+#              print "self.isSeekable", self.isSeekable()
+#              print "self.timeshift_enabled", self.timeshift_enabled
 
                # when this service is not seekable, but timeshift
                # is enabled, this means we can activate
@@ -1179,7 +1179,7 @@ class InfoBarTimeshift:
                if not self.isSeekable() and self.timeshift_enabled:
                        enabled = True
 
-               print "timeshift activate:", enabled
+#              print "timeshift activate:", enabled
                self["TimeshiftActivateActions"].setEnabled(enabled)
 
        def __serviceStarted(self):
@@ -1356,7 +1356,7 @@ class InfoBarPiP:
                elif "stop" == use:
                        self.showPiP()
 
-from RecordTimer import parseEvent
+from RecordTimer import parseEvent, RecordTimerEntry
 
 class InfoBarInstantRecord:
        """Instant Record - handles the instantRecord action in order to
@@ -1406,10 +1406,14 @@ class InfoBarInstantRecord:
                        if limitEvent:
                                self.session.open(MessageBox, _("No event info found, recording indefinitely."), MessageBox.TYPE_INFO)
 
-               data = (begin, end, name, description, eventid)
+               # TODO: needed?
+               if isinstance(serviceref, eServiceReference):
+                       serviceref = ServiceReference(serviceref)
 
-               recording = self.session.nav.recordWithTimer(serviceref, *data)
+               recording = RecordTimerEntry(serviceref, begin, end, name, description, eventid, dirname = config.movielist.last_videodir.value)
                recording.dontSave = True
+
+               self.session.nav.RecordTimer.record(recording)
                self.recording.append(recording)
 
        def isInstantRecordRunning(self):
@@ -1615,16 +1619,18 @@ class InfoBarSubserviceSelection:
                        }, -1)
                self["SubserviceQuickzapAction"].setEnabled(False)
 
-               self.session.nav.event.append(self.checkSubservicesAvail) # we like to get service events
+               self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
+                       {
+                               iPlayableService.evUpdatedInfo: self.checkSubservicesAvail
+                       })
 
                self.bsel = None
 
-       def checkSubservicesAvail(self, ev):
-               if ev == iPlayableService.evUpdatedEventInfo:
-                       service = self.session.nav.getCurrentService()
-                       subservices = service and service.subServices()
-                       if not subservices or subservices.getNumberOfSubservices() == 0:
-                               self["SubserviceQuickzapAction"].setEnabled(False)
+       def checkSubservicesAvail(self):
+               service = self.session.nav.getCurrentService()
+               subservices = service and service.subServices()
+               if not subservices or subservices.getNumberOfSubservices() == 0:
+                       self["SubserviceQuickzapAction"].setEnabled(False)
 
        def nextSubservice(self):
                self.changeSubservice(+1)