gears.timer: Add start and stop signals (#348)
This makes the timer emit signals for when it is started and stopped. This does not add a signal for :again(), because that function just calls the other two functions and thus already emits start and stop. Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
532ec0cd90
commit
b61026310d
|
@ -44,6 +44,7 @@ function timer:start()
|
||||||
end)
|
end)
|
||||||
return true
|
return true
|
||||||
end)
|
end)
|
||||||
|
self:emit_signal("start")
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Stop the timer.
|
--- Stop the timer.
|
||||||
|
@ -54,6 +55,7 @@ function timer:stop()
|
||||||
end
|
end
|
||||||
glib.source_remove(self.data.source_id)
|
glib.source_remove(self.data.source_id)
|
||||||
self.data.source_id = nil
|
self.data.source_id = nil
|
||||||
|
self:emit_signal("stop")
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Restart the timer.
|
--- Restart the timer.
|
||||||
|
@ -92,6 +94,8 @@ timer.new = function(args)
|
||||||
|
|
||||||
ret:add_signal("property::timeout")
|
ret:add_signal("property::timeout")
|
||||||
ret:add_signal("timeout")
|
ret:add_signal("timeout")
|
||||||
|
ret:add_signal("start")
|
||||||
|
ret:add_signal("stop")
|
||||||
|
|
||||||
ret.data = { timeout = 0 }
|
ret.data = { timeout = 0 }
|
||||||
setmetatable(ret, timer_instance_mt)
|
setmetatable(ret, timer_instance_mt)
|
||||||
|
|
Loading…
Reference in New Issue