From 223c807af74a9a402fa5a649c3e7acafb8caa8e3 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Sat, 12 Nov 2005 19:06:41 +0000 Subject: [PATCH] use green to add a timer directly from the epgSelection --- data/keymap.xml | 3 +++ lib/python/Screens/EpgSelection.py | 32 ++++++++++++++++++++++++++++++ lib/python/Screens/TimerEdit.py | 7 +++---- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/data/keymap.xml b/data/keymap.xml index 91cd6a6f..e1d99ff1 100644 --- a/data/keymap.xml +++ b/data/keymap.xml @@ -104,6 +104,9 @@ + + + diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index 9ab18fb0..03228f60 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 +from TimerEdit import TimerEditList +from TimerEntry import TimerEntry +from ServiceReference import ServiceReference import xml.dom.minidom @@ -22,6 +26,7 @@ class EPGSelection(Screen): { "cancel": self.close, "ok": self.eventSelected, + "timerAdd": self.timerAdd }) self["actions"].csel = self self.setRoot(root) @@ -38,6 +43,33 @@ class EPGSelection(Screen): event = self["list"].getCurrent() self.session.open(EventView, event, self.eventViewCallback) + def timerAdd(self): + epg = self["list"].getCurrent() + + if (epg == None): + description = "unknown event" + else: + description = epg.getEventName() + # FIXME we need a timestamp here: + begin = epg.getBeginTime() + + print begin + print epg.getDuration() + end = begin + epg.getDuration() + + + # FIXME only works if already playing a service + serviceref = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference()) + + newEntry = RecordTimerEntry(begin, end, serviceref, epg, description) + 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["list"].setRoot(root) diff --git a/lib/python/Screens/TimerEdit.py b/lib/python/Screens/TimerEdit.py index 86bd4e03..b64fb116 100644 --- a/lib/python/Screens/TimerEdit.py +++ b/lib/python/Screens/TimerEdit.py @@ -73,11 +73,10 @@ class TimerEditList(Screen): # FIXME only works if already playing a service serviceref = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference()) - self.addTimer(begin, end, serviceref, epg, description) + self.addTimer(RecordTimerEntry(begin, end, serviceref, epg, description)) - def addTimer(self, begin, end, serviceref, epg, description): - newEntry = RecordTimerEntry(begin, end, serviceref, epg, description) - self.session.openWithCallback(self.finishedAdd, TimerEntry, newEntry) + def addTimer(self, timer): + self.session.openWithCallback(self.finishedAdd, TimerEntry, timer) def finishedEdit(self, answer): if (answer[0]): -- 2.30.2