X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/be53117395c453d1a62f878d42beba927ddfbfe1..bb2800462a81afbcfce36fa15d90808d13eae55b:/lib/python/Screens/Standby.py diff --git a/lib/python/Screens/Standby.py b/lib/python/Screens/Standby.py index d09f28af..4a9dca40 100644 --- a/lib/python/Screens/Standby.py +++ b/lib/python/Screens/Standby.py @@ -45,10 +45,17 @@ class Standby(Screen): #mute adc self.setMute() - #get currently playing service reference - self.prev_running_service = self.session.nav.getCurrentlyPlayingServiceReference() - #stop actual played dvb-service - self.session.nav.stopService() + + if self.session.current_dialog.ALLOW_SUSPEND == Screen.SUSPEND_STOPS: + #get currently playing service reference + self.prev_running_service = self.session.nav.getCurrentlyPlayingServiceReference() + #stop actual played dvb-service + self.session.nav.stopService() + self.paused_service = None + elif self.session.current_dialog.ALLOW_SUSPEND == Screen.SUSPEND_PAUSES: + self.paused_service = self.session.current_dialog + self.paused_service.pauseService() + self.prev_running_service = None #set input to vcr scart if SystemInfo["ScartSwitch"]: self.avswitch.setInput("SCART") @@ -63,6 +70,8 @@ class Standby(Screen): def __onClose(self): if self.prev_running_service: self.session.nav.playService(self.prev_running_service) + elif self.paused_service: + self.paused_service.unPauseService() def createSummary(self): return StandbySummary @@ -70,10 +79,12 @@ class Standby(Screen): def __onShow(self): global inStandby inStandby = self + self.session.screen["Standby"].boolean = True def __onHide(self): global inStandby inStandby = None + self.session.screen["Standby"].boolean = False class StandbySummary(Screen): skin = """ @@ -87,9 +98,6 @@ class StandbySummary(Screen): """ - def __init__(self, session, parent): - Screen.__init__(self, session) - from enigma import quitMainloop, iRecordableService from Screens.MessageBox import MessageBox from time import time @@ -100,7 +108,7 @@ inTryQuitMainloop = False class TryQuitMainloop(MessageBox): def __init__(self, session, retvalue=1, timeout=-1, default_yes = True): self.retval=retvalue - recordings = len(session.nav.getRecordings()) + recordings = session.nav.getRecordings() jobs = len(job_manager.getPendingJobs()) self.connected = False reason = "" @@ -137,7 +145,7 @@ class TryQuitMainloop(MessageBox): def getRecordEvent(self, recservice, event): if event == iRecordableService.evEnd: recordings = self.session.nav.getRecordings() - if not len(recordings): # no more recordings exist + if not recordings: # no more recordings exist rec_time = self.session.nav.RecordTimer.getNextRecordingTime() if rec_time > 0 and (rec_time - time()) < 360: self.initTimeout(360) # wait for next starting timer