X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1ccf93c4863d3d7be1cb5b91231d601d59ea9283..29f60fdaf6f0ff1dd112c9e0e913ec734b304bf1:/lib/python/Screens/TimerEntry.py diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py index 0e557a64..349f4fda 100644 --- a/lib/python/Screens/TimerEntry.py +++ b/lib/python/Screens/TimerEntry.py @@ -9,8 +9,9 @@ from Components.Button import Button from Components.NimManager import nimmanager from Components.Label import Label from Components.Pixmap import Pixmap -from Screens.SubserviceSelection import SubserviceSelection from Screens.MessageBox import MessageBox +from Screens.ChoiceBox import ChoiceBox +from RecordTimer import AFTEREVENT from enigma import eEPGCache import time import datetime @@ -59,6 +60,8 @@ class TimerEntry(Screen): else: justplay = 1 + afterevent = { AFTEREVENT.NONE: 0, AFTEREVENT.DEEPSTANDBY: 1, AFTEREVENT.STANDBY: 2}[self.timer.afterEvent] + # calculate default values day = [] weekday = 0 @@ -93,6 +96,7 @@ class TimerEntry(Screen): day[weekday] = 0 config.timerentry.justplay = configElement_nonSave("config.timerentry.justplay", configSelection, justplay, (("zap", _("zap")), ("record", _("record")))) + config.timerentry.afterevent = configElement_nonSave("config.timerentry.afterevent", configSelection, afterevent, (("nothing", _("do nothing")), ("deepstandby", _("go to deep standby")))) config.timerentry.type = configElement_nonSave("config.timerentry.type", configSelection, type, (_("once"), _("repeated"))) config.timerentry.name = configElement_nonSave("config.timerentry.name", configText, self.timer.name, (configText.extendableSize, self.keyRightCallback)) config.timerentry.description = configElement_nonSave("config.timerentry.description", configText, self.timer.description, (configText.extendableSize, self.keyRightCallback)) @@ -187,6 +191,9 @@ class TimerEntry(Screen): if currentConfigSelectionElement(config.timerentry.justplay) != "zap": self.list.append(getConfigListEntry(_("EndTime"), config.timerentry.endtime)) + if currentConfigSelectionElement(config.timerentry.justplay) != "zap": + self.list.append(getConfigListEntry(_("After event"), config.timerentry.afterevent)) + self.channelEntry = getConfigListEntry(_("Channel"), config.timerentry.service) self.list.append(self.channelEntry) @@ -252,6 +259,7 @@ class TimerEntry(Screen): self.timer.description = config.timerentry.description.value self.timer.justplay = (currentConfigSelectionElement(config.timerentry.justplay) == "zap") self.timer.resetRepeated() + self.timer.afterEvent = { 0: AFTEREVENT.NONE, 1: AFTEREVENT.DEEPSTANDBY, 2: AFTEREVENT.STANDBY}[config.timerentry.afterevent.value] if (config.timerentry.type.value == 0): # once self.timer.begin = self.getTimestamp(config.timerentry.startdate.value, config.timerentry.starttime.value) @@ -278,14 +286,24 @@ class TimerEntry(Screen): if self.timer.eit is not None: event = eEPGCache.getInstance().lookupEventId(self.timer.service_ref.ref, self.timer.eit) if event is not None: - if event.getNumOfLinkageServices() > 0: - self.session.openWithCallback(self.subserviceSelected, SubserviceSelection, event, self.timer.service_ref.ref) + n = event.getNumOfLinkageServices() + if n > 0: + tlist = [] + ref = self.session.nav.getCurrentlyPlayingServiceReference() + parent = self.timer.service_ref.ref + selection = 0 + for x in range(n): + i = event.getLinkageService(parent, x) + if i.toString() == ref.toString(): + selection = x + tlist.append((i.getName(), i)) + self.session.openWithCallback(self.subserviceSelected, ChoiceBox, title=_("Please select a subservice to record..."), list = tlist, selection = selection) return self.close((True, self.timer)) def subserviceSelected(self, service): if not service is None: - self.timer.service_ref = ServiceReference(service) + self.timer.service_ref = ServiceReference(service[1]) self.close((True, self.timer)) def keyCancel(self):