1 from Screen import Screen
2 from Components.config import *
3 from Components.ActionMap import ActionMap, NumberActionMap
4 from Components.ConfigList import ConfigList, ConfigListScreen
5 from Components.Button import Button
6 from Components.Label import Label
7 from Components.Pixmap import Pixmap
11 class TimeDateInput(Screen, ConfigListScreen):
12 def __init__(self, session, config_time=None, config_date=None):
13 Screen.__init__(self, session)
14 self["oktext"] = Label(_("OK"))
15 self["canceltext"] = Label(_("Cancel"))
17 self["cancel"] = Pixmap()
19 self.createConfig(config_date, config_time)
21 self["actions"] = NumberActionMap(["SetupActions"],
25 "cancel": self.keyCancel,
29 ConfigListScreen.__init__(self, self.list)
30 self.createSetup(self["config"])
32 def createConfig(self, conf_date, conf_time):
37 conf_time = ConfigClock(default = time.time()),
41 conf_date = ConfigDateTime(default = time.time(), formatstring = _("%d.%B %Y"), increment = 86400)
42 self.timeinput_date = conf_date
43 self.timeinput_time = conf_time
45 def createSetup(self, configlist):
47 self.list.append(getConfigListEntry(_("Date"), self.timeinput_date))
48 self.list.append(getConfigListEntry(_("Time"), self.timeinput_time))
49 configlist.list = self.list
50 configlist.l.setList(self.list)
55 def getTimestamp(self, date, mytime):
56 d = time.localtime(date)
57 dt = datetime.datetime(d.tm_year, d.tm_mon, d.tm_mday, mytime[0], mytime[1])
58 return int(time.mktime(dt.timetuple()))
61 time = self.getTimestamp(self.timeinput_date.value, self.timeinput_time.value)
62 if self.save_mask & 1:
63 self.timeinput_time.save()
64 if self.save_mask & 2:
65 self.timeinput_date.save()
66 self.close((True, time))
69 if self.save_mask & 1:
70 self.timeinput_time.cancel()
71 if self.save_mask & 2:
72 self.timeinput_date.cancel()