X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2601ee77efe1f10be7cbeb8af94e2fb229cc1ec1..f458abcfbe30c3e3062a41b88d3244147bdc0607:/lib/python/Screens/EventView.py?ds=sidebyside diff --git a/lib/python/Screens/EventView.py b/lib/python/Screens/EventView.py index e3585b67..31e97fa6 100644 --- a/lib/python/Screens/EventView.py +++ b/lib/python/Screens/EventView.py @@ -1,5 +1,6 @@ from Screen import Screen from Components.ActionMap import ActionMap +from Components.Button import Button from Components.Label import Label from Components.ScrollLabel import ScrollLabel from enigma import eServiceEventPtr @@ -7,15 +8,19 @@ from ServiceReference import ServiceReference from RecordTimer import RecordTimerEntry, parseEvent from TimerEntry import TimerEntry -class EventView(Screen): - def __init__(self, session, Event, Ref, callback=None): - Screen.__init__(self, session) +class EventViewBase: + def __init__(self, Event, Ref, callback=None): self.cbFunc = callback - self.currentService=None + self.currentService=Ref + self.event = Event self["epg_description"] = ScrollLabel() self["datetime"] = Label() self["channel"] = Label() self["duration"] = Label() + self["key_red"] = Button("") + self["key_green"] = Button(_("Add Timer")) + self["key_yellow"] = Button("") + self["key_blue"] = Button("") self["actions"] = ActionMap(["OkCancelActions", "EventViewActions"], { "cancel": self.close, @@ -26,17 +31,20 @@ class EventView(Screen): "nextEvent": self.nextEvent, "timerAdd": self.timerAdd }) - self.setEvent(Event) - self.setService(Ref) + self.onShown.append(self.onCreate) + + def onCreate(self): + self.setEvent(self.event) + self.setService(self.currentService) def prevEvent(self): if self.cbFunc is not None: - self.cbFunc(self.setEvent, -1) + self.cbFunc(self.setEvent, self.setService, -1) def nextEvent(self): if self.cbFunc is not None: - self.cbFunc(self.setEvent, +1) - + self.cbFunc(self.setEvent, self.setService, +1) + def timerAdd(self): newEntry = RecordTimerEntry(self.currentService, *parseEvent(self.event)) self.session.openWithCallback(self.timerEditFinished, TimerEntry, newEntry) @@ -45,7 +53,7 @@ class EventView(Screen): if (answer[0]): self.session.nav.RecordTimer.record(answer[1]) else: - print "Timeredit aborted" + print "Timeredit aborted" def setService(self, service): self.currentService=service @@ -73,6 +81,25 @@ class EventView(Screen): def pageUp(self): self["epg_description"].pageUp() - + def pageDown(self): self["epg_description"].pageDown() + +class EventViewSimple(Screen, EventViewBase): + def __init__(self, session, Event, Ref, callback=None): + Screen.__init__(self, session) + self.skinName = "EventView" + EventViewBase.__init__(self, Event, Ref, callback) + +class EventViewEPGSelect(Screen, EventViewBase): + def __init__(self, session, Event, Ref, callback=None, singleEPGCB=None, multiEPGCB=None): + Screen.__init__(self, session) + self.skinName = "EventView" + EventViewBase.__init__(self, Event, Ref, callback) + self["key_yellow"].setText(_("Single EPG")) + self["key_blue"].setText(_("Multi EPG")) + self["epgactions"] = ActionMap(["EventViewEPGActions"], + { + "openSingleServiceEPG": singleEPGCB, + "openMultiServiceEPG": multiEPGCB + })