X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c199d209c922c72b0376ff85ed5ab5da8107aaa5..11027439f74d586f8c70abe86adbbf2e04ee53a1:/lib/python/Screens/TimerEntry.py diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py index e649666f..6636af7c 100644 --- a/lib/python/Screens/TimerEntry.py +++ b/lib/python/Screens/TimerEntry.py @@ -19,13 +19,14 @@ class TimerEntry(Screen): self.createConfig() - self["actions"] = NumberActionMap(["SetupActions"], + self["actions"] = NumberActionMap(["SetupActions", "TextEntryActions"], { "ok": self.keySelect, "save": self.keyGo, "cancel": self.keyCancel, "left": self.keyLeft, "right": self.keyRight, + "delete": self.keyDelete, "1": self.keyNumberGlobal, "2": self.keyNumberGlobal, "3": self.keyNumberGlobal, @@ -95,7 +96,12 @@ class TimerEntry(Screen): # FIXME some service-chooser needed here - config.timerentry.service = configElement_nonSave("config.timerentry.service", configSelection, 0, ((str(self.timer.service_ref.getServiceName())),)) + servicename = "N/A" + try: # no current service available? + servicename = str(self.timer.service_ref.getServiceName()) + except: + pass + config.timerentry.service = configElement_nonSave("config.timerentry.service", configSelection, 0, ((servicename),)) config.timerentry.startdate.addNotifier(self.checkDate) config.timerentry.enddate.addNotifier(self.checkDate) @@ -105,12 +111,18 @@ class TimerEntry(Screen): if (config.timerentry.enddate.value < config.timerentry.startdate.value): config.timerentry.enddate.value = config.timerentry.startdate.value config.timerentry.enddate.change() - self["config"].invalidate(config.timerentry.enddate) + try: + self["config"].invalidate(config.timerentry.enddate) + except: + pass if (configElement.getConfigPath() == "config.timerentry.enddate"): if (config.timerentry.enddate.value < config.timerentry.startdate.value): config.timerentry.startdate.value = config.timerentry.enddate.value config.timerentry.startdate.change() - self["config"].invalidate(config.timerentry.startdate) + try: + self["config"].invalidate(config.timerentry.startdate) + except: + pass def createSetup(self): self.list = [] @@ -164,9 +176,15 @@ class TimerEntry(Screen): self.createSetup() def keyLeft(self): - self["config"].handleKey(config.key["prevElement"]) - self.newConfig() + if self["config"].getCurrent()[0] == _("Channel"): + self.keySelect() + else: + self["config"].handleKey(config.key["prevElement"]) + self.newConfig() + def keyDelete(self): + self["config"].handleKey(config.key["delete"]) + def keyRightCallback(self, configPath): currentConfigPath = self["config"].getCurrent()[1].parent.getConfigPath() # check if we are still on the same config entry @@ -174,8 +192,11 @@ class TimerEntry(Screen): self.keyRight() def keyRight(self): - self["config"].handleKey(config.key["nextElement"]) - self.newConfig() + if self["config"].getCurrent()[0] == _("Channel"): + self.keySelect() + else: + self["config"].handleKey(config.key["nextElement"]) + self.newConfig() def keySelect(self): if self["config"].getCurrent()[0] == _("Channel"): @@ -198,6 +219,7 @@ class TimerEntry(Screen): return int(mktime(dt.timetuple())) def keyGo(self): + self.timer.description = config.timerentry.description.value self.timer.resetRepeated() if (config.timerentry.type.value == 0): # once