1 from Screen import Screen
2 from Components.ActionMap import ActionMap
3 from Components.Label import Label
4 from Components.ScrollLabel import ScrollLabel
5 from enigma import eServiceEventPtr
6 from ServiceReference import ServiceReference
8 class EventView(Screen):
9 def __init__(self, session, Event, Ref, callback=None):
10 Screen.__init__(self, session)
11 self.cbFunc = callback
12 self.currentService=None
13 self["epg_description"] = ScrollLabel()
14 self["datetime"] = Label()
15 self["channel"] = Label()
16 self["duration"] = Label()
17 self["actions"] = ActionMap(["OkCancelActions", "EventViewActions"],
21 "pageUp": self.pageUp,
22 "pageDown": self.pageDown,
23 "prevEvent": self.prevEvent,
24 "nextEvent": self.nextEvent
30 if self.cbFunc is not None:
31 self.cbFunc(self.setEvent, -1)
34 if self.cbFunc is not None:
35 self.cbFunc(self.setEvent, +1)
37 def setService(self, service):
38 self.currentService=service
39 name = self.currentService.getServiceName()
41 self["channel"].setText(name)
43 self["channel"].setText(_("unknown service"))
45 def setEvent(self, event):
46 text = event.getEventName()
47 short = event.getShortDescription()
48 ext = event.getExtendedDescription()
49 if len(short) > 0 and short != text:
50 text = text + '\n\n' + short
55 # self.session.currentDialog.instance.setTitle(event.getEventName())
56 self["epg_description"].setText(text)
57 self["datetime"].setText(event.getBeginTimeString())
58 self["duration"].setText(_("%d min")%(event.getDuration()/60))
61 self["epg_description"].pageUp()
64 self["epg_description"].pageDown()