X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/92362f1b73f1e61ad0cb1c581b318b360e0bb6fe..5e214d181d1590e0002eabdc6f8395cd6ddde2a7:/lib/python/Screens/Standby.py diff --git a/lib/python/Screens/Standby.py b/lib/python/Screens/Standby.py index fd7ca8ef..d3767f33 100644 --- a/lib/python/Screens/Standby.py +++ b/lib/python/Screens/Standby.py @@ -2,6 +2,7 @@ from Screen import Screen from Components.ActionMap import ActionMap from Components.config import config from Components.AVSwitch import AVSwitch +from Components.SystemInfo import SystemInfo from enigma import eDVBVolumecontrol inStandby = None @@ -49,7 +50,10 @@ class Standby(Screen): #stop actual played dvb-service self.session.nav.stopService() #set input to vcr scart - self.avswitch.setInput("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) @@ -66,10 +70,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 = """ @@ -83,32 +89,40 @@ 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 +from Components.Task import job_manager 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 = "" next_rec_time = -1 if not recordings: - next_rec_time = session.nav.RecordTimer.getNextRecordingTime() + next_rec_time = session.nav.RecordTimer.getNextRecordingTime() if recordings or (next_rec_time > 0 and (next_rec_time - time()) < 360): + reason = _("Recording(s) are in progress or coming up in few seconds!") + '\n' + if jobs: + if jobs == 1: + job = job_manager.getPendingJobs()[0] + reason += "%s: %s (%d%%)\n" % (job.getStatustext(), job.name, int(100*job.progress/float(job.end))) + else: + reason += (_("%d jobs are running in the background!") % jobs) + '\n' + if reason: if retvalue == 1: - MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really shutdown now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes) + MessageBox.__init__(self, session, reason+_("Really shutdown now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes) elif retvalue == 2: - MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really reboot now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes) + MessageBox.__init__(self, session, reason+_("Really reboot now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes) elif retvalue == 4: pass else: - MessageBox.__init__(self, session, _("Recording(s) are in progress or coming up in few seconds... really restart now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes) + MessageBox.__init__(self, session, reason+_("Really restart now?"), type = MessageBox.TYPE_YESNO, timeout = timeout, default = default_yes) self.skinName = "MessageBox" session.nav.record_event.append(self.getRecordEvent) self.connected = True @@ -122,7 +136,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