some cleanups,
[enigma2.git] / lib / python / Components / Sources / Boolean.py
index df7f81b2a68e50bb1b510a02d795d477db0c82fc..212d2198600397fd35bf198cff2faa306fd6470f 100644 (file)
@@ -16,8 +16,10 @@ class Boolean(Source, object):
                self.fixed = fixed
                if poll > 0:
                        self.poll_timer = eTimer()
-                       self.poll_timer.timeout.get().append(self.poll)
+                       self.poll_timer.callback.append(self.poll)
                        self.poll_timer.start(poll)
+               else:
+                       self.poll_timer = None
 
        @cached
        def getBoolean(self):
@@ -26,7 +28,17 @@ class Boolean(Source, object):
                else:
                        return self.fixed
 
-       boolean = property(getBoolean)
+       def setBoolean(self, value):
+               assert self.function is None
+               self.fixed = value
+               self.poll()
+
+       boolean = property(getBoolean, setBoolean)
 
        def poll(self):
                self.changed((self.CHANGED_ALL,))
+
+       def destroy(self):
+               if self.poll_timer:
+                       self.poll_timer.callback.remove(self.poll)
+               Source.destroy(self)