added a "Starting on" option to set a starting date for repeated timers
[vuplus_dvbapp] / lib / python / Screens / TimerEntry.py
index 2bf5bd1..a54358f 100644 (file)
@@ -83,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)
@@ -97,6 +97,8 @@ class TimerEntry(Screen, ConfigListScreen):
                        self.timerentry_enddate = ConfigDateTime(default = self.timer.end, formatstring =  _("%d.%B %Y"), increment = 86400)
                        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"))])
 
                        self.timerentry_day = ConfigSubList()
@@ -138,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":
@@ -214,7 +218,7 @@ 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.timerentry_service.setCurrentText(self.timer.service_ref.getServiceName())
                        self["config"].invalidate(self.channelEntry)
 
        def getTimestamp(self, date, mytime):
@@ -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 = []