X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/063b342fe2ea79cb8a3f978b05ec6a224adfbc95..e5e3a46df6a0cf6cbc0f8043863fcea9c6029659:/lib/python/Screens/InfoBarGenerics.py diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index eb382fe7..a6ff8d7d 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -39,7 +39,7 @@ from Tools import Notifications from Tools.Directories import SCOPE_HDD, resolveFilename from enigma import eTimer, eServiceCenter, eDVBServicePMTHandler, iServiceInformation, \ - iPlayableService, eServiceReference, eDVBResourceManager, iFrontendInformation + iPlayableService, eServiceReference, eDVBResourceManager, iFrontendInformation, eEPGCache from time import time from os import stat as os_stat @@ -227,7 +227,7 @@ class InfoBarNumberZap: bouquetlist = serviceHandler.list(bouquet) if not bouquetlist is None: while number: - bouquet = self.servicelist.appendDVBTypes(bouquetlist.getNext()) + bouquet = bouquetlist.getNext() if not bouquet.valid(): #check end of list break if bouquet.flags & eServiceReference.isDirectory: @@ -863,22 +863,26 @@ class InfoBarPVRState: def __init__(self, screen=PVRState): self.onPlayStateChanged.append(self.__playStateChanged) self.pvrStateDialog = self.session.instantiateDialog(screen) - self.onShow.append(self.__mayShow) + self.onShow.append(self._mayShow) self.onHide.append(self.pvrStateDialog.hide) - - def __mayShow(self): - if self.seekstate != self.SEEK_STATE_PLAY and self.execing: + + def _mayShow(self): + if self.execing and self.seekstate != self.SEEK_STATE_PLAY: self.pvrStateDialog.show() def __playStateChanged(self, state): playstateString = state[3] self.pvrStateDialog["state"].setText(playstateString) - self.__mayShow() + self._mayShow() class InfoBarTimeshiftState(InfoBarPVRState): def __init__(self): InfoBarPVRState.__init__(self, screen=TimeshiftState) + def _mayShow(self): + if self.execing and self.timeshift_enabled: + self.pvrStateDialog.show() + class InfoBarShowMovies: # i don't really like this class. @@ -1321,7 +1325,7 @@ class InfoBarInstantRecord: def inputCallback(self, value): if value is not None: print "stopping recording after", int(value), "minutes." - self.recording[self.selectedEntry].end = time.time() + 60 * int(value) + self.recording[self.selectedEntry].end = time() + 60 * int(value) self.session.nav.RecordTimer.timeChanged(self.recording[self.selectedEntry]) def instantRecord(self): @@ -1332,9 +1336,21 @@ class InfoBarInstantRecord: return if self.isInstantRecordRunning(): - self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, title=_("A recording is currently running.\nWhat do you want to do?"), list=[(_("stop recording"), "stop"), (_("change recording (duration)"), "changeduration"), (_("add recording (indefinitely)"), "indefinitely"), (_("add recording (stop after current event)"), "event"), (_("add recording (enter recording duration)"), "manualduration"), (_("do nothing"), "no")]) + self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, \ + title=_("A recording is currently running.\nWhat do you want to do?"), \ + list=[(_("stop recording"), "stop"), \ + (_("change recording (duration)"), "changeduration"), \ + (_("add recording (indefinitely)"), "indefinitely"), \ + (_("add recording (stop after current event)"), "event"), \ + (_("add recording (enter recording duration)"), "manualduration"), \ + (_("do nothing"), "no")]) else: - self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, title=_("Start recording?"), list=[(_("add recording (indefinitely)"), "indefinitely"), (_("add recording (stop after current event)"), "event"), (_("add recording (enter recording duration)"), "manualduration"),(_("don't record"), "no")]) + self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox, \ + title=_("Start recording?"), \ + list=[(_("add recording (indefinitely)"), "indefinitely"), \ + (_("add recording (stop after current event)"), "event"), \ + (_("add recording (enter recording duration)"), "manualduration"), \ + (_("don't record"), "no")]) from Tools.ISO639 import LanguageCodes @@ -1547,6 +1563,8 @@ class InfoBarAdditionalInfo: res_mgr.frontendUseMaskChanged.get().append(self.tunerUseMaskChanged) def tunerUseMaskChanged(self, mask): + if mask == 0: + self.checkTunerState(None) if mask&1: self["NimA_Active"].show() else: @@ -1557,7 +1575,7 @@ class InfoBarAdditionalInfo: self["NimB_Active"].hide() def checkTunerState(self, service): - info = service.frontendInfo() + info = service and service.frontendInfo() feNumber = info and info.getFrontendInfo(iFrontendInformation.frontendNumber) if feNumber is None: self["NimA"].hide() @@ -1571,7 +1589,7 @@ class InfoBarAdditionalInfo: def gotServiceEvent(self, ev): service = self.session.nav.getCurrentService() - if ev == iPlayableService.evStart: + if ev == iPlayableService.evUpdatedInfo: self.checkTunerState(service) class InfoBarNotifications: @@ -1891,12 +1909,9 @@ class InfoBarServiceErrorPopupSupport: eDVBServicePMTHandler.eventSOF: None, eDVBServicePMTHandler.eventEOF: None } - - if error not in errors: - error = None - error = error and errors[error] - + error = errors.get(error) #this returns None when the key not exist in the dict + if error is not None: Notifications.AddPopup(text = error, type = MessageBox.TYPE_ERROR, timeout = 5, id = "ZapError") else: