X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a9589a258f6173fc8af17d802def10d0d918bc16..24cfe420fd59098b062985d1c92410cbea93e014:/lib/python/Screens/EpgSelection.py diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index 49308994..f8edba11 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() @@ -82,22 +87,28 @@ class EPGSelection(Screen): "info": self.infoKeyPressed, "red": self.zapTo, "input_date_time": self.enterDateTime, - "nextBouquet": self.nextBouquet, - "prevBouquet": self.prevBouquet, + "nextBouquet": self.nextBouquet, # just used in multi epg yet + "prevBouquet": self.prevBouquet, # just used in multi epg yet + "nextService": self.nextService, # just used in single epg yet + "prevService": self.prevService, # just used in single epg yet }) self["actions"].csel = self self.onLayoutFinish.append(self.onCreate) def nextBouquet(self): - if self.serviceChangeCB: - self.serviceChangeCB(1, self) - elif self.bouquetChangeCB: + if self.bouquetChangeCB: self.bouquetChangeCB(1, self) def prevBouquet(self): if self.bouquetChangeCB: self.bouquetChangeCB(-1, self) - elif self.serviceChangeCB: + + def nextService(self): + if self.serviceChangeCB: + self.serviceChangeCB(1, self) + + def prevService(self): + if self.serviceChangeCB: self.serviceChangeCB(-1, self) def enterDateTime(self): @@ -147,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() @@ -224,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): @@ -300,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: @@ -322,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