From e0c246f039d5f97ed928c9432a69bbb3841e1568 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Thu, 17 Nov 2005 13:23:14 +0000 Subject: [PATCH] show now/next info when no epg is avail --- lib/python/Screens/InfoBarGenerics.py | 29 ++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index 3af52ae8..52b1c3c0 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -9,12 +9,14 @@ from ChannelSelection import ChannelSelection from Components.ServiceName import ServiceName from Components.EventInfo import EventInfo +from ServiceReference import ServiceReference from EpgSelection import EPGSelection from Screens.MessageBox import MessageBox from Screens.Volume import Volume from Screens.Mute import Mute from Screens.Standby import Standby +from Screens.EventView import EventView #from enigma import eTimer, eDVBVolumecontrol, quitMainloop from enigma import * @@ -280,10 +282,31 @@ class InfoBarEPG: ptr=eEPGCache.getInstance() if ptr.startTimeQuery(ref) != -1: self.session.open(EPGSelection, ref) - else: + else: # try to show now/next print 'no epg for service', ref.toString() - -class InfoBarEvent: + 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 eventViewCallback(self, setEvent, val): #used for now/next displaying + if len(self.epglist) > 1: + tmp = self.epglist[0] + self.epglist[0]=self.epglist[1] + self.epglist[1]=tmp + setEvent(self.epglist[0]) + +class InfoBarEvent: """provides a current/next event info display""" def __init__(self): self["Event_Now_StartTime"] = EventInfo(self.session.nav, EventInfo.Now_StartTime) -- 2.30.2