X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/8607541e1bf8913140a3960206e07a3240cc421a..1e1c01fece5a4a86a762af265e382da5dbb2d8cb:/lib/python/Screens/EpgSelection.py diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index 9ab18fb0..4d288b00 100644 --- a/lib/python/Screens/EpgSelection.py +++ b/lib/python/Screens/EpgSelection.py @@ -5,6 +5,10 @@ from Components.ActionMap import ActionMap from Screens.EventView import EventView from enigma import eServiceReference, eServiceEventPtr from Screens.FixedMenu import FixedMenu +from RecordTimer import RecordTimerEntry, parseEvent +from TimerEdit import TimerEditList +from TimerEntry import TimerEntry +from ServiceReference import ServiceReference import xml.dom.minidom @@ -17,11 +21,17 @@ class EPGSelection(Screen): class ChannelActionMap(ActionMap): def action(self, contexts, action): ActionMap.action(self, contexts, action) + + self["key_red"] = Button("") + self["key_green"] = Button(_("Add timer")) + self["key_yellow"] = Button("") + self["key_blue"] = Button("") self["actions"] = ChannelActionMap(["EPGSelectActions", "OkCancelActions"], { "cancel": self.close, "ok": self.eventSelected, + "timerAdd": self.timerAdd }) self["actions"].csel = self self.setRoot(root) @@ -36,9 +46,28 @@ class EPGSelection(Screen): def eventSelected(self): event = self["list"].getCurrent() - self.session.open(EventView, event, self.eventViewCallback) + self.session.open(EventView, event, self.currentService, self.eventViewCallback) + def timerAdd(self): + event = self["list"].getCurrent() + + if event is None: + return + + # FIXME only works if already playing a service + serviceref = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference()) + + newEntry = RecordTimerEntry(serviceref, *parseEvent(event)) + self.session.openWithCallback(self.timerEditFinished, TimerEntry, newEntry) + + def timerEditFinished(self, answer): + if (answer[0]): + self.session.nav.RecordTimer.record(answer[1]) + else: + print "Timeredit aborted" + def setRoot(self, root): + self.currentService=ServiceReference(root) self["list"].setRoot(root) def moveUp(self):