X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d8db49b1ebcfd2a886be1536bbbc12d214e185a5..781220c0da56eb1ccbed096fc731da9161d654a3:/lib/python/Screens/InfoBarGenerics.py diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 2f368537..e7dbcfb5 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -344,7 +344,7 @@ class InfoBarEPG: self.servicelist.setCurrentSelection(service) #select the service in servicelist self.servicelist.zap() - def openBouquetEPG(self, bouquet): + def openBouquetEPG(self, bouquet, withCallback=True): ptr=eEPGCache.getInstance() services = [ ] servicelist = eServiceCenter.getInstance().list(bouquet) @@ -358,22 +358,28 @@ class InfoBarEPG: services.append(ServiceReference(service)) if len(services): self.epg_bouquet = bouquet - self.session.openWithCallback(self.closed, EPGSelection, services, self.zapToService) + if withCallback: + self.session.openWithCallback(self.closed, EPGSelection, services, self.zapToService) + else: + self.session.open(EPGSelection, services, self.zapToService) def closed(self, ret): if ret: self.close(ret) - def openMultiServiceEPG(self): + def openMultiServiceEPG(self, withCallback=True): bouquets = self.servicelist.getBouquetList() if bouquets is None: cnt = 0 else: cnt = len(bouquets) if cnt > 1: # show bouquet list - self.session.openWithCallback(self.closed, BouquetSelector, bouquets, self.openBouquetEPG) + if withCallback: + self.session.openWithCallback(self.closed, BouquetSelector, bouquets, self.openBouquetEPG) + else: + self.session.open(BouquetSelector, bouquets, self.openBouquetEPG) elif cnt == 1: - self.openBouquetEPG(bouquets[0][1]) + self.openBouquetEPG(bouquets[0][1], withCallback) def openSingleServiceEPG(self): ref=self.session.nav.getCurrentlyPlayingServiceReference() @@ -403,7 +409,7 @@ class InfoBarEPG: self.session.open(EventViewEPGSelect, self.epglist[0], ServiceReference(ref), self.eventViewCallback, self.openSingleServiceEPG, self.openMultiServiceEPG) else: print "no epg for the service avail.. so we show multiepg instead of eventinfo" - self.openMultiServiceEPG() + self.openMultiServiceEPG(False) def eventViewCallback(self, setEvent, setService, val): #used for now/next displaying if len(self.epglist) > 1: @@ -1032,19 +1038,26 @@ class InfoBarAdditionalInfo: self["ButtonRed"] = PixmapConditional(withTimer = False) self["ButtonRed"].setConnect(lambda: harddiskmanager.HDDCount() > 0) - self.onShown.append(self["ButtonRed"].update) + self.onLayoutFinish.append(self["ButtonRed"].update) self["ButtonRedText"] = LabelConditional(text = _("Record"), withTimer = False) self["ButtonRedText"].setConnect(lambda: harddiskmanager.HDDCount() > 0) - self.onShown.append(self["ButtonRedText"].update) + self.onLayoutFinish.append(self["ButtonRedText"].update) self["ButtonGreen"] = Pixmap() self["ButtonGreenText"] = Label(_("Subservices")) self["ButtonYellow"] = PixmapConditional(withTimer = False) - self["ButtonYellow"].setConnect(lambda: False) + self["ButtonYellow"].setConnect(lambda: harddiskmanager.HDDCount() > 0) + self["ButtonYellowText"] = LabelConditional(text = _("Timeshifting"), withTimer = False) + self["ButtonYellowText"].setConnect(lambda: harddiskmanager.HDDCount() > 0) + self.onLayoutFinish.append(self["ButtonYellow"].update) + self.onLayoutFinish.append(self["ButtonYellowText"].update) self["ButtonBlue"] = PixmapConditional(withTimer = False) self["ButtonBlue"].setConnect(lambda: False) + self["ButtonBlueText"] = LabelConditional(text = _("Extensions"), withTimer = False) + self["ButtonBlueText"].setConnect(lambda: False) + self.onLayoutFinish.append(self["ButtonBlueText"].update) self.session.nav.event.append(self.gotServiceEvent) # we like to get service events