self["actions"] = ChannelActionMap(["EPGSelectActions", "OkCancelActions"],
{
- "cancel": self.close,
+ "cancel": self.closeClose,
"ok": self.eventSelected,
"timerAdd": self.timerAdd,
"yellow": self.yellowButtonPressed,
- "blue": self.blueButtonPressed
+ "blue": self.blueButtonPressed,
+ "info": self.closeInfo
})
self["actions"].csel = self
self.onLayoutFinish.append(self.onCreate)
+ def closeClose(self):
+ self.close(False)
+
+ def closeInfo(self):
+ self.close(True)
+
#just used in multipeg
def onCreate(self):
l = self["list"]
def __init__(self):
self["EPGActions"] = HelpableActionMap(self, "InfobarEPGActions",
{
- "showEPGList": (self.showEPGList, _("show EPG...")),
+ "showEPGList": (self.openSingleServiceEPG, _("show EPG...")),
})
def showEPGList(self):
else: #no bouquets so we open single epg
self.openSingleEPGSelector(self.session.nav.getCurrentlyPlayingServiceReference())
+ def bouquetEPGCallback(self, info):
+ if info:
+ self.openSingleServiceEPG()
+
+ def singleEPGCallback(self, info):
+ if info:
+ self.showEPGList()
+
+ def openSingleServiceEPG(self):
+ ref=self.session.nav.getCurrentlyPlayingServiceReference()
+ ptr=eEPGCache.getInstance()
+ if ptr.startTimeQuery(ref) != -1:
+ self.session.openWithCallback(self.singleEPGCallback, EPGSelection, ref)
+ else: # try to show now/next
+ print 'no epg for service', ref.toString()
+ try:
+ self.epglist = [ ]
+ service = self.session.nav.getCurrentService()
+ info = service.info()
+ ptr=info.getEvent(0)
+ if ptr:
+ self.epglist.append(ptr)
+ ptr=info.getEvent(1)
+ if ptr:
+ self.epglist.append(ptr)
+ if len(self.epglist) > 0:
+ self.session.open(EventView, self.epglist[0], ServiceReference(ref), self.eventViewCallback)
+ except:
+ pass
+
def openBouquetEPG(self, bouquet):
ptr=eEPGCache.getInstance()
services = [ ]
continue
services.append(ServiceReference(service))
if len(services):
- self.session.open(EPGSelection, services)
+ self.session.openWithCallback(self.bouquetEPGCallback, EPGSelection, services)
def openSingleEPGSelector(self, ref):
ptr=eEPGCache.getInstance()