X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/361c35260b85478dfff43517ff1e174a9cfb0471..17815854118aa7187570e0e4492064f43a1b94b7:/lib/python/Screens/Standby.py?ds=sidebyside diff --git a/lib/python/Screens/Standby.py b/lib/python/Screens/Standby.py index 88367cf7..4c3a1720 100644 --- a/lib/python/Screens/Standby.py +++ b/lib/python/Screens/Standby.py @@ -2,10 +2,9 @@ from Screen import Screen from Components.ActionMap import ActionMap from Components.config import config from Components.AVSwitch import AVSwitch -from enigma import eDVBVolumecontrol, eDBoxLCD, eServiceReference -from Components.Sources.Clock import Clock +from enigma import eDVBVolumecontrol -inStandby = False +inStandby = None class Standby(Screen): def Power(self): @@ -13,12 +12,10 @@ class Standby(Screen): #set input to encoder self.avswitch.setInput("ENCODER") #restart last played service - if self.prev_running_service: - self.session.nav.playService(self.prev_running_service) #unmute adc self.leaveMute() #set brightness of lcd - eDBoxLCD.getInstance().setLCDBrightness(config.lcd.bright.value * 20) + config.lcd.bright.apply() #kill me self.close(True) @@ -54,57 +51,75 @@ class Standby(Screen): #set input to vcr scart self.avswitch.setInput("SCART") #set lcd brightness to standby value - eDBoxLCD.getInstance().setLCDBrightness(config.lcd.standby.value * 20) + config.lcd.standby.apply() self.onShow.append(self.__onShow) self.onHide.append(self.__onHide) + self.onClose.append(self.__onClose) + + def __onClose(self): + if self.prev_running_service: + self.session.nav.playService(self.prev_running_service) def createSummary(self): return StandbySummary def __onShow(self): global inStandby - inStandby = True + inStandby = self def __onHide(self): global inStandby - inStandby = False - + inStandby = None class StandbySummary(Screen): skin = """ - + + + config.usage.blinking_display_clock_during_recording,True,CheckSourceBoolean + Blink + """ def __init__(self, session, parent): Screen.__init__(self, session) - self["CurrentTime"] = Clock() 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): + def __init__(self, session, retvalue=1, timeout=-1, default_yes = True): self.retval=retvalue recordings = len(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 comming up in few seconds... really shutdown now?"), type = MessageBox.TYPE_YESNO, timeout = timeout) + 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 comming up in few seconds... really reboot now?"), type = MessageBox.TYPE_YESNO, timeout = timeout) + 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 comming up in few seconds... really restart now?"), type = MessageBox.TYPE_YESNO, timeout = timeout) + 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