projects
/
vuplus_dvbapp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
implement proper 'destroy' functions in Converter
[vuplus_dvbapp]
/
lib
/
python
/
Components
/
Sources
/
Boolean.py
diff --git
a/lib/python/Components/Sources/Boolean.py
b/lib/python/Components/Sources/Boolean.py
index
c25b462
..
21c2c2b
100644
(file)
--- a/
lib/python/Components/Sources/Boolean.py
+++ b/
lib/python/Components/Sources/Boolean.py
@@
-1,4
+1,5
@@
from Source import Source
from Source import Source
+from Components.Element import cached
from enigma import eTimer
# a small warning:
from enigma import eTimer
# a small warning:
@@
-11,11
+12,16
@@
from enigma import eTimer
class Boolean(Source, object):
def __init__(self, fixed = False, function = None, poll = 0):
Source.__init__(self)
class Boolean(Source, object):
def __init__(self, fixed = False, function = None, poll = 0):
Source.__init__(self)
+ self.function = function
+ self.fixed = fixed
if poll > 0:
self.poll_timer = eTimer()
if poll > 0:
self.poll_timer = eTimer()
- self.poll_timer.timeout.get().append(self.
changed
)
+ self.poll_timer.timeout.get().append(self.
poll
)
self.poll_timer.start(poll)
self.poll_timer.start(poll)
+ else:
+ self.poll_timer = None
+ @cached
def getBoolean(self):
if self.function is not None:
return self.function()
def getBoolean(self):
if self.function is not None:
return self.function()
@@
-23,3
+29,10
@@
class Boolean(Source, object):
return self.fixed
boolean = property(getBoolean)
return self.fixed
boolean = property(getBoolean)
+
+ def poll(self):
+ self.changed((self.CHANGED_ALL,))
+
+ def destroy(self):
+ if self.poll_timer:
+ self.poll_timer.timeout.get().remove(self.poll)