X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FScreens%2FTimerEntry.py;h=a54358f50fa97199b2eb28b25c1ef3b8796c2d4a;hp=fa75b5c0963c6b7d8bf62e06aa87e2933d55eb11;hb=69d19bb77913e6b543a9bdae403c31550114cfdf;hpb=6eeefece35e4269e02fdb7abab4f79d8e7b8f98b diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py index fa75b5c..a54358f 100644 --- a/lib/python/Screens/TimerEntry.py +++ b/lib/python/Screens/TimerEntry.py @@ -21,6 +21,10 @@ class TimerEntry(Screen, ConfigListScreen): Screen.__init__(self, session) self.timer = timer + self.entryStartDate = None + self.entryEndDate = None + self.entryService = None + self["oktext"] = Label(_("OK")) self["canceltext"] = Label(_("Cancel")) self["ok"] = Pixmap() @@ -33,7 +37,7 @@ class TimerEntry(Screen, ConfigListScreen): "ok": self.keySelect, "save": self.keyGo, "cancel": self.keyCancel, - }, -1) + }, -2) self.list = [] ConfigListScreen.__init__(self, self.list, session = session) @@ -79,8 +83,8 @@ class TimerEntry(Screen, ConfigListScreen): weekday = (int(time.strftime("%w", time.localtime(self.timer.begin))) - 1) % 7 day[weekday] = 1 - self.timerentry_justplay = ConfigSelection(choices = [("zap", _("zap")), ("record", _("record"))], default = {0: "record", 1: "record"}[justplay]) - self.timerentry_afterevent = ConfigSelection(choices = [("nothing", _("do nothing")), ("deepstandby", _("go to deep standby"))], default = afterevent) + self.timerentry_justplay = ConfigSelection(choices = [("zap", _("zap")), ("record", _("record"))], default = {0: "record", 1: "zap"}[justplay]) + self.timerentry_afterevent = ConfigSelection(choices = [("nothing", _("do nothing")), ("standby", _("go to standby")), ("deepstandby", _("go to deep standby"))], default = afterevent) self.timerentry_type = ConfigSelection(choices = [("once",_("once")), ("repeated", _("repeated"))], default = type) self.timerentry_name = ConfigText(default = self.timer.name, fixed_size = False) self.timerentry_description = ConfigText(default = self.timer.description, fixed_size = False) @@ -88,10 +92,12 @@ class TimerEntry(Screen, ConfigListScreen): self.timerentry_repeated = ConfigSelection(default = repeated, choices = [("daily", _("daily")), ("weekly", _("weekly")), ("weekdays", _("Mon-Fri")), ("user", _("user defined"))]) self.timerentry_startdate = ConfigDateTime(default = self.timer.begin, formatstring = _("%d.%B %Y"), increment = 86400) - self.timerentry_starttime = ConfigClock(default = [int(time.strftime("%H", time.localtime(self.timer.begin))), int(time.strftime("%M", time.localtime(self.timer.begin)))]) + self.timerentry_starttime = ConfigClock(default = self.timer.begin) self.timerentry_enddate = ConfigDateTime(default = self.timer.end, formatstring = _("%d.%B %Y"), increment = 86400) - self.timerentry_endtime = ConfigClock(default = [int(time.strftime("%H", time.localtime(self.timer.end))), int(time.strftime("%M", time.localtime(self.timer.end)))]) + self.timerentry_endtime = ConfigClock(default = self.timer.end) + + self.timerentry_repeatedbegindate = ConfigDateTime(default = self.timer.repeatedbegindate, formatstring = _("%d.%B %Y"), increment = 86400) self.timerentry_weekday = ConfigSelection(default = weekday_table[weekday], choices = [("mon",_("Monday")), ("tue", _("Tuesday")), ("wed",_("Wednesday")), ("thu", _("Thursday")), ("fri", _("Friday")), ("sat", _("Saturday")), ("sun", _("Sunday"))]) @@ -114,11 +120,11 @@ class TimerEntry(Screen, ConfigListScreen): if configElement is self.timerentry_startdate: if self.timerentry_enddate.value < self.timerentry_startdate.value: self.timerentry_enddate.value = self.timerentry_startdate.value - self["config"].invalidate(self.timerentry_enddate) + self["config"].invalidate(self.entryEndDate) if configElement is self.timerentry_enddate: if (self.timerentry_enddate.value < self.timerentry_startdate.value): self.timerentry_startdate.value = self.timerentry_enddate.value - self["config"].invalidate(self.timerentry_startdate) + self["config"].invalidate(self.entryStartDate) def createSetup(self, widget): self.list = [] @@ -134,6 +140,8 @@ class TimerEntry(Screen, ConfigListScreen): else: # repeated self.frequencyEntry = getConfigListEntry(_("Frequency"), self.timerentry_repeated) self.list.append(self.frequencyEntry) + self.repeatedbegindateEntry = getConfigListEntry(_("Starting on"), self.timerentry_repeatedbegindate) + self.list.append(self.repeatedbegindateEntry) if self.timerentry_repeated.value == "daily": pass if self.timerentry_repeated.value == "weekdays": @@ -153,15 +161,17 @@ class TimerEntry(Screen, ConfigListScreen): #self.list.append(getConfigListEntry("StartDate", self.timerentry_startdate)) # self.list.append(getConfigListEntry("Weekday", self.timerentry_weekday)) + self.entryStartDate = getConfigListEntry(_("Start"), self.timerentry_startdate) if self.timerentry_type.value == "once": - self.list.append(getConfigListEntry(_("Start"), self.timerentry_startdate)) + self.list.append(self.entryStartDate) self.list.append(getConfigListEntry(" ", self.timerentry_starttime)) else: self.list.append(getConfigListEntry(_("StartTime"), self.timerentry_starttime)) + self.entryEndDate = getConfigListEntry(_("End"), self.timerentry_enddate) if self.timerentry_type.value == "once": if self.timerentry_justplay.value != "zap": - self.list.append(getConfigListEntry(_("End"), self.timerentry_enddate)) + self.list.append(self.entryEndDate) self.list.append(getConfigListEntry(" ", self.timerentry_endtime)) else: if self.timerentry_justplay.value != "zap": @@ -192,12 +202,6 @@ class TimerEntry(Screen, ConfigListScreen): ConfigListScreen.keyLeft(self) self.newConfig() - def keyRightCallback(self, configPath): - currentConfigPath = self["config"].getCurrent()[1].parent.getConfigPath() - # check if we are still on the same config entry - if (currentConfigPath == configPath): - self.keyRight() - def keyRight(self): if self["config"].getCurrent() is self.channelEntry: self.keySelect() @@ -214,8 +218,8 @@ class TimerEntry(Screen, ConfigListScreen): def finishedChannelSelection(self, *args): if len(args): self.timer.service_ref = ServiceReference(args[0]) - self.timerentry_service.vals = (str(self.timer.service_ref.getServiceName()),) - self["config"].invalidate(self.timerentry_service) + self.timerentry_service.setCurrentText(self.timer.service_ref.getServiceName()) + self["config"].invalidate(self.channelEntry) def getTimestamp(self, date, mytime): d = time.localtime(date) @@ -249,6 +253,7 @@ class TimerEntry(Screen, ConfigListScreen): if self.timerentry_type.value == "once": self.timer.begin, self.timer.end = self.getBeginEnd() if self.timerentry_type.value == "repeated": + self.timer.repeatedbegindate = self.timerentry_repeatedbegindate.value if self.timerentry_repeated.value == "daily": for x in range(0,7): self.timer.setRepeated(x) @@ -337,7 +342,7 @@ class TimerLog(Screen): def fillLogList(self): self.list = [ ] for x in self.log_entries: - self.list.append((str(time.strftime("%Y-%m-%d %H-%M", localtime(x[0])) + " - " + x[2]), x)) + self.list.append((str(time.strftime("%Y-%m-%d %H-%M", time.localtime(x[0])) + " - " + x[2]), x)) def clearLog(self): self.log_entries = []