show plugin description in plugin list
[enigma2.git] / lib / python / Screens / EventView.py
index 79d548af5e002e2087357b5e9a614228dba5941c..d96be6d604c61255bb0b6a6c1cdc393617daea14 100644 (file)
@@ -4,14 +4,15 @@ from Components.Label import Label
 from Components.ScrollLabel import ScrollLabel
 from enigma import eServiceEventPtr
 from ServiceReference import ServiceReference
-from RecordTimer import RecordTimerEntry
+from RecordTimer import RecordTimerEntry, parseEvent
 from TimerEntry import TimerEntry
 
 class EventView(Screen):
        def __init__(self, session, Event, Ref, callback=None):
                Screen.__init__(self, session)
                self.cbFunc = callback
-               self.currentService=None
+               self.currentService=Ref
+               self.event = Event
                self["epg_description"] = ScrollLabel()
                self["datetime"] = Label()
                self["channel"] = Label()
@@ -26,36 +27,22 @@ 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)
-                       
-       def timerAdd(self):
-               epg = self.event
-               
-               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()
+                       self.cbFunc(self.setEvent, self.setService, +1)
 
-
-               # FIXME only works if already playing a service
-               serviceref = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference())
-               
-               newEntry = RecordTimerEntry(begin, end, serviceref, epg, description)
+       def timerAdd(self):
+               newEntry = RecordTimerEntry(self.currentService, *parseEvent(self.event))
                self.session.openWithCallback(self.timerEditFinished, TimerEntry, newEntry)
 
        def timerEditFinished(self, answer):