aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-12 19:06:41 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-12 19:06:41 +0000
commit223c807af74a9a402fa5a649c3e7acafb8caa8e3 (patch)
treeb32691662e4d81d8598cbbd4233765a6c3165e0a
parent03368ffabdc8649667ba47d72fd2925ab909c9f3 (diff)
downloadenigma2-223c807af74a9a402fa5a649c3e7acafb8caa8e3.tar.gz
enigma2-223c807af74a9a402fa5a649c3e7acafb8caa8e3.zip
use green to add a timer directly from the epgSelection
-rw-r--r--data/keymap.xml3
-rw-r--r--lib/python/Screens/EpgSelection.py32
-rw-r--r--lib/python/Screens/TimerEdit.py7
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 @@
<key id="KEY_BLUE" mapto="bouquet:(type == 1) FROM BOUQUET &quot;bouquets.tv&quot; ORDER BY bouquet" flags="m" />
<key id="KEY_INFO" mapto="showEPGList" flags="m" />
</map>
+ <map context="EPGSelectActions">
+ <key id="KEY_GREEN" mapto="timerAdd" flags="m" />
+ </map>
<map context="EventViewActions">
<key id="KEY_UP" mapto="pageUp" flags="m" />
<key id="KEY_DOWN" mapto="pageDown" flags="m" />
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]):