Add cancel_timeout method
This method is useful when the keymap needs to use state.set_timeout() and this timeout needs to be cancellable. Also, the set_timeout() now returns a timer handle.
This commit is contained in:
parent
9c4a136989
commit
f9b56d82f7
@ -67,8 +67,15 @@ class InternalState:
|
|||||||
else:
|
else:
|
||||||
timeout_key = ticks_ms() + after_ticks
|
timeout_key = ticks_ms() + after_ticks
|
||||||
|
|
||||||
|
while timeout_key in self.timeouts:
|
||||||
|
timeout_key += 1
|
||||||
|
|
||||||
self.timeouts[timeout_key] = callback
|
self.timeouts[timeout_key] = callback
|
||||||
return self
|
return timeout_key
|
||||||
|
|
||||||
|
def cancel_timeout(self, timeout_key):
|
||||||
|
if timeout_key in self.timeouts:
|
||||||
|
del self.timeouts[timeout_key]
|
||||||
|
|
||||||
def process_timeouts(self):
|
def process_timeouts(self):
|
||||||
if not self.timeouts:
|
if not self.timeouts:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user