Merge branch 'obi/master'
[enigma2.git] / lib / python / Screens / EpgSelection.py
index d09ed004b8c686d52cb8b9810d4f65e6223fd37a..f8edba11fe06c9e6b737f5afcd08f5e0b1393095 100644 (file)
@@ -6,6 +6,9 @@ from Components.Label import Label
 from Components.EpgList import EPGList, EPG_TYPE_SINGLE, EPG_TYPE_SIMILAR, EPG_TYPE_MULTI
 from Components.ActionMap import ActionMap
 from Components.TimerSanityCheck import TimerSanityCheck
+from Components.UsageConfig import preferredTimerPath
+from Components.Sources.ServiceEvent import ServiceEvent
+from Components.Sources.Event import Event
 from Screens.TimerEdit import TimerSanityConflict
 from Screens.EventView import EventViewSimple
 from Screens.MessageBox import MessageBox
@@ -33,6 +36,8 @@ class EPGSelection(Screen):
                self["key_red"] = Button("")
                self.closeRecursive = False
                self.saved_title = None
+               self["Service"] = ServiceEvent()
+               self["Event"] = Event()
                if isinstance(service, str) and eventid != None:
                        self.type = EPG_TYPE_SIMILAR
                        self["key_yellow"] = Button()
@@ -153,6 +158,7 @@ class EPGSelection(Screen):
                        l.moveToService(self.session.nav.getCurrentlyPlayingServiceReference())
                elif self.type == EPG_TYPE_SINGLE:
                        service = self.currentService
+                       self["Service"].newService(service.ref)
                        if self.saved_title is None:
                                self.saved_title = self.instance.getTitle()
                        title = self.saved_title + ' - ' + service.getServiceName()
@@ -230,7 +236,7 @@ class EPGSelection(Screen):
                                self.session.openWithCallback(cb_func, MessageBox, _("Do you really want to delete %s?") % event.getEventName())
                                break
                else:
-                       newEntry = RecordTimerEntry(serviceref, checkOldTimers = True, *parseEvent(event))
+                       newEntry = RecordTimerEntry(serviceref, checkOldTimers = True, dirname = preferredTimerPath(), *parseEvent(event))
                        self.session.openWithCallback(self.finishedAdd, TimerEntry, newEntry)
 
        def finishedAdd(self, answer):
@@ -306,6 +312,7 @@ class EPGSelection(Screen):
                                self.key_red_choice = self.EMPTY
                        return
                event = cur[0]
+               self["Event"].newEvent(event)
                if self.type == EPG_TYPE_MULTI:
                        count = self["list"].getCurrentChangeCount()
                        if self.ask_time != -1:
@@ -328,8 +335,12 @@ class EPGSelection(Screen):
                                else:
                                        datestr = '%s %d.%d.'%(_("Today"), begTime[2], begTime[1])
                        self["date"].setText(datestr)
+                       if cur[1] is None:
+                               self["Service"].newService(None)
+                       else:
+                               self["Service"].newService(cur[1].ref)
 
-               if cur[1] is None  or cur[1].getServiceName() == "":
+               if cur[1] is None or cur[1].getServiceName() == "":
                        if self.key_green_choice != self.EMPTY:
                                self["key_green"].setText("")
                                self.key_green_choice = self.EMPTY