X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/181f1cdcee428f446da2a1d05976b7f1a75a8431..9248bf86cddef4cf3904748bcd94ddabef68f8c7:/lib/python/Screens/InfoBarGenerics.py diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 065069b1..c7fce347 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -66,7 +66,7 @@ class InfoBarShowHide: { "toggleShow": self.toggleShow, "hide": self.hide, - }) + }, 1) # lower prio to make it possible to override ok and cancel.. self.__state = self.STATE_SHOWN self.__locked = 0 @@ -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: @@ -609,6 +609,8 @@ class InfoBarSeek: }, prio=-1) # give them a little more priority to win over color buttons + self["SeekActions"].setEnabled(False) + self.seekstate = self.SEEK_STATE_PLAY self.onClose.append(self.delTimer) @@ -1573,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() @@ -1587,7 +1589,7 @@ class InfoBarAdditionalInfo: def gotServiceEvent(self, ev): service = self.session.nav.getCurrentService() - if ev == iPlayableService.evStart: + if ev == iPlayableService.evUpdatedInfo or ev == iPlayableService.evEnd: self.checkTunerState(service) class InfoBarNotifications: @@ -1609,6 +1611,11 @@ class InfoBarNotifications: Notifications.notifications = Notifications.notifications[1:] cb = n[0] + + if n[3].has_key("onSessionOpenCallback"): + n[3]["onSessionOpenCallback"]() + del n[3]["onSessionOpenCallback"] + if cb is not None: dlg = self.session.openWithCallback(cb, n[1], *n[2], **n[3]) else: @@ -1908,10 +1915,7 @@ class InfoBarServiceErrorPopupSupport: eDVBServicePMTHandler.eventEOF: None } - if error not in errors: - error = None - - error = error is not None 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")