revert local change
[enigma2.git] / lib / python / Components / Sources / Clock.py
index f840ea243113408360642a5af4770bbc69c4f77d..4833dddec9212a17d108df7a6948784aa1b2103a 100644 (file)
@@ -1,4 +1,5 @@
 from Tools.Event import Event
 from Tools.Event import Event
+from Components.Element import cached
 from enigma import eTimer
 import time
 
 from enigma import eTimer
 import time
 
@@ -6,17 +7,23 @@ from Source import Source
 
 class Clock(Source):
        def __init__(self):
 
 class Clock(Source):
        def __init__(self):
-               self.changed = Event(start=self.start, stop=self.stop)
+               Source.__init__(self)
                self.clock_timer = eTimer()
                self.clock_timer = eTimer()
-               self.clock_timer.timeout.get().append(self.changed)
-
-       def start(self):
+               self.clock_timer.timeout.get().append(self.poll)
                self.clock_timer.start(1000)
 
                self.clock_timer.start(1000)
 
-       def stop(self):
-               self.clock_timer.stop()
-
+       @cached
        def getClock(self):
                return time.time()
 
        time = property(getClock)
        def getClock(self):
                return time.time()
 
        time = property(getClock)
+
+       def poll(self):
+               self.changed((self.CHANGED_POLL,))
+
+       def doSuspend(self, suspended):
+               if suspended:
+                       self.clock_timer.stop()
+               else:
+                       self.clock_timer.start(1000)
+                       self.poll()