add .jpe extension
[enigma2.git] / lib / python / Screens / TimeDateInput.py
index 4ea67b74619e60adc143ba55d7c4e1bdf7470a2f..c50d8195aaeb743131c140d31a49f9f87a9cddc5 100644 (file)
@@ -1,92 +1,73 @@
 from Screen import Screen
 from Components.config import *
 from Components.ActionMap import ActionMap, NumberActionMap
 from Screen import Screen
 from Components.config import *
 from Components.ActionMap import ActionMap, NumberActionMap
-from Components.ConfigList import ConfigList
+from Components.ConfigList import ConfigList, ConfigListScreen
 from Components.Button import Button
 from Components.Label import Label
 from Components.Pixmap import Pixmap
 import time
 import datetime
 
 from Components.Button import Button
 from Components.Label import Label
 from Components.Pixmap import Pixmap
 import time
 import datetime
 
-class TimeDateInput(Screen):
-       def __init__(self, session):
+class TimeDateInput(Screen, ConfigListScreen):
+       def __init__(self, session, config_time=None, config_date=None):
                Screen.__init__(self, session)
                Screen.__init__(self, session)
-
                self["oktext"] = Label(_("OK"))
                self["canceltext"] = Label(_("Cancel"))
                self["ok"] = Pixmap()
                self["cancel"] = Pixmap()
 
                self["oktext"] = Label(_("OK"))
                self["canceltext"] = Label(_("Cancel"))
                self["ok"] = Pixmap()
                self["cancel"] = Pixmap()
 
-               self.createConfig()
+               self.createConfig(config_date, config_time)
 
 
-               self["actions"] = NumberActionMap(["SetupActions", "TextEntryActions"],
+               self["actions"] = NumberActionMap(["SetupActions"],
                {
                        "ok": self.keySelect,
                        "save": self.keyGo,
                        "cancel": self.keyCancel,
                {
                        "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,
-                       "4": self.keyNumberGlobal,
-                       "5": self.keyNumberGlobal,
-                       "6": self.keyNumberGlobal,
-                       "7": self.keyNumberGlobal,
-                       "8": self.keyNumberGlobal,
-                       "9": self.keyNumberGlobal,
-                       "0": self.keyNumberGlobal
-               }, -1)
+               }, -2)
 
                self.list = []
 
                self.list = []
-               self["config"] = ConfigList(self.list)
+               ConfigListScreen.__init__(self, self.list)
                self.createSetup(self["config"])
 
                self.createSetup(self["config"])
 
-       def createConfig(self):
-                       config.timeinput = ConfigSubsection()
-                       nowtime = time.time()
-                       config.timeinput.date = configElement_nonSave("config.timeinput.date", configDateTime, nowtime, (_("%d.%B %Y"), 86400))
-                       config.timeinput.time = configElement_nonSave("config.timeinput.time", configSequence, [int(time.strftime("%H", time.localtime(nowtime))), int(time.strftime("%M", time.localtime(nowtime)))], configsequencearg.get("CLOCK"))
+       def createConfig(self, conf_date, conf_time):
+               self.save_mask = 0
+               if conf_time:
+                       self.save_mask |= 1
+               else:
+                       conf_time = ConfigClock(default = time.time()),
+               if conf_date:
+                       self.save_mask |= 2
+               else:
+                       conf_date = ConfigDateTime(default = time.time(), formatstring = _("%d.%B %Y"), increment = 86400)
+               self.timeinput_date = conf_date
+               self.timeinput_time = conf_time
 
        def createSetup(self, configlist):
                self.list = []
 
        def createSetup(self, configlist):
                self.list = []
-               self.list.append(getConfigListEntry(_("Date"), config.timeinput.date))
-               self.list.append(getConfigListEntry(_("Time"), config.timeinput.time))
+               self.list.append(getConfigListEntry(_("Date"), self.timeinput_date))
+               self.list.append(getConfigListEntry(_("Time"), self.timeinput_time))
                configlist.list = self.list
                configlist.l.setList(self.list)
 
                configlist.list = self.list
                configlist.l.setList(self.list)
 
-       def keyLeft(self):
-               self["config"].handleKey(config.key["prevElement"])
-
-       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
-               if (currentConfigPath == configPath):
-                       self.keyRight()
-
-       def keyRight(self):
-               self["config"].handleKey(config.key["nextElement"])
-
        def keySelect(self):
                self.keyGo()
 
        def keySelect(self):
                self.keyGo()
 
-       def keyNumberGlobal(self, number):
-               print "You pressed number " + str(number)
-               if (self["config"].getCurrent()[1].parent.enabled == True):
-                       self["config"].handleKey(config.key[str(number)])
-
        def getTimestamp(self, date, mytime):
                d = time.localtime(date)
                dt = datetime.datetime(d.tm_year, d.tm_mon, d.tm_mday, mytime[0], mytime[1])
        def getTimestamp(self, date, mytime):
                d = time.localtime(date)
                dt = datetime.datetime(d.tm_year, d.tm_mon, d.tm_mday, mytime[0], mytime[1])
-               return int(mktime(dt.timetuple()))
+               return int(time.mktime(dt.timetuple()))
 
        def keyGo(self):
 
        def keyGo(self):
-               time = self.getTimestamp(config.timeinput.date.value, config.timeinput.time.value)
+               time = self.getTimestamp(self.timeinput_date.value, self.timeinput_time.value)
+               if self.save_mask & 1:
+                       self.timeinput_time.save()
+               if self.save_mask & 2:
+                       self.timeinput_date.save()
                self.close((True, time))
 
        def keyCancel(self):
                self.close((True, time))
 
        def keyCancel(self):
+               if self.save_mask & 1:
+                       self.timeinput_time.cancel()
+               if self.save_mask & 2:
+                       self.timeinput_date.cancel()
                self.close((False,))
                self.close((False,))