X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FStandby.py;h=b8ccb6c2e219d9644e9f8e8a46adb0ce06ef8f29;hp=afea94b992535efb222a7a125c25ed6e9fddacd9;hb=269c1d980e92fa79d72c19b0a51db16240b2649d;hpb=bce53d4a67d1655a496eebe5912c8573e880114e diff --git a/lib/python/Screens/Standby.py b/lib/python/Screens/Standby.py index afea94b..b8ccb6c 100644 --- a/lib/python/Screens/Standby.py +++ b/lib/python/Screens/Standby.py @@ -45,10 +45,19 @@ 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() + + self.paused_service = None + self.prev_running_service = None + if self.session.current_dialog: + 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() + elif self.session.current_dialog.ALLOW_SUSPEND == Screen.SUSPEND_PAUSES: + self.paused_service = self.session.current_dialog + self.paused_service.pauseService() + #set input to vcr scart if SystemInfo["ScartSwitch"]: self.avswitch.setInput("SCART") @@ -63,6 +72,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 +81,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 = """ @@ -149,9 +162,14 @@ class TryQuitMainloop(MessageBox): self.conntected=False self.session.nav.record_event.remove(self.getRecordEvent) if value: - quitMainloop(self.retval) - else: - MessageBox.close(self, True) + # hack .. we dont like to show any other screens when this screen has closed + self.onClose = [self.__closed] + self.session.dialog_stack = [] + self.session.summary_stack = [None] + MessageBox.close(self, True) + + def __closed(self): + quitMainloop(self.retval) def __onShow(self): global inTryQuitMainloop