X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FEpgSelection.py;h=94b16a402abb8ded668891b645c3cb0a45f98fbc;hp=d09ed004b8c686d52cb8b9810d4f65e6223fd37a;hb=83b8f1c6f9357e41c34020251038b0cdeab76cb7;hpb=fe12fe9e0ab3a4f9751b67c0aa3751d5864784ba diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index d09ed00..94b16a4 100644 --- a/lib/python/Screens/EpgSelection.py +++ b/lib/python/Screens/EpgSelection.py @@ -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() @@ -220,7 +226,7 @@ class EPGSelection(Screen): cur = self["list"].getCurrent() event = cur[0] serviceref = cur[1] - if event is None: + if event is None or serviceref.getType() != eServiceReference.idDVB: return eventid = event.getEventId() refstr = serviceref.ref.toString() @@ -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 @@ -341,13 +352,13 @@ class EPGSelection(Screen): self["key_red"].setText("Zap") self.key_red_choice = self.ZAP - if event is None: + serviceref = cur[1] + if event is None or serviceref.getType() != eServiceReference.idDVB: if self.key_green_choice != self.EMPTY: self["key_green"].setText("") self.key_green_choice = self.EMPTY return - serviceref = cur[1] eventid = event.getEventId() refstr = serviceref.ref.toString() isRecordEvent = False @@ -355,6 +366,7 @@ class EPGSelection(Screen): if timer.eit == eventid and timer.service_ref.ref.toString() == refstr: isRecordEvent = True break + if isRecordEvent and self.key_green_choice != self.REMOVE_TIMER: self["key_green"].setText(_("Remove timer")) self.key_green_choice = self.REMOVE_TIMER