X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FStandby.py;h=0c7670b96e420e8252fb1b06141712975f2c1f9e;hp=afea94b992535efb222a7a125c25ed6e9fddacd9;hb=HEAD;hpb=e68a1617b7c1efbedf8b28309943dd7669daaad0 diff --git a/lib/python/Screens/Standby.py b/lib/python/Screens/Standby.py index afea94b..0c7670b 100644 --- a/lib/python/Screens/Standby.py +++ b/lib/python/Screens/Standby.py @@ -3,6 +3,7 @@ from Components.ActionMap import ActionMap from Components.config import config from Components.AVSwitch import AVSwitch from Components.SystemInfo import SystemInfo +from GlobalActions import globalActionMap from enigma import eDVBVolumecontrol inStandby = None @@ -15,8 +16,6 @@ class Standby(Screen): #restart last played service #unmute adc self.leaveMute() - #set brightness of lcd - config.lcd.bright.apply() #kill me self.close(True) @@ -43,37 +42,49 @@ class Standby(Screen): "power": self.Power }, -1) + globalActionMap.setEnabled(False) + #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") else: self.avswitch.setInput("AUX") - #set lcd brightness to standby value - config.lcd.standby.apply() - self.onShow.append(self.__onShow) - self.onHide.append(self.__onHide) + self.onFirstExecBegin.append(self.__onFirstExecBegin) self.onClose.append(self.__onClose) def __onClose(self): + global inStandby + inStandby = None if self.prev_running_service: self.session.nav.playService(self.prev_running_service) + elif self.paused_service: + self.paused_service.unPauseService() + self.session.screen["Standby"].boolean = False + globalActionMap.setEnabled(True) - def createSummary(self): - return StandbySummary - - def __onShow(self): + def __onFirstExecBegin(self): global inStandby inStandby = self + self.session.screen["Standby"].boolean = True + config.misc.standbyCounter.value += 1 - def __onHide(self): - global inStandby - inStandby = None + def createSummary(self): + return StandbySummary class StandbySummary(Screen): skin = """ @@ -91,8 +102,10 @@ from enigma import quitMainloop, iRecordableService from Screens.MessageBox import MessageBox from time import time from Components.Task import job_manager +from Components.config import ConfigYesNo,NoSave inTryQuitMainloop = False +config.misc.DeepStandbyOn = NoSave(ConfigYesNo(default=False)) class TryQuitMainloop(MessageBox): def __init__(self, session, retvalue=1, timeout=-1, default_yes = True): @@ -149,6 +162,8 @@ class TryQuitMainloop(MessageBox): self.conntected=False self.session.nav.record_event.remove(self.getRecordEvent) if value: + if self.retval ==1: + config.misc.DeepStandbyOn.value=True quitMainloop(self.retval) else: MessageBox.close(self, True)