mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-13 01:59:14 +03:00
LibCore: Add a convenience constructor for CTimer.
new CTimer(250, [] { thing_to_do_every_250_msec(); });
This commit is contained in:
parent
2af729a58a
commit
a3e8fc3d9c
Notes:
sideshowbarker
2024-07-19 14:43:16 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/a3e8fc3d9c5
@ -5,6 +5,13 @@ CTimer::CTimer(CObject* parent)
|
||||
{
|
||||
}
|
||||
|
||||
CTimer::CTimer(int interval, Function<void()>&& timeout_handler, CObject* parent)
|
||||
: CObject(parent)
|
||||
, on_timeout(move(timeout_handler))
|
||||
{
|
||||
start(interval);
|
||||
}
|
||||
|
||||
CTimer::~CTimer()
|
||||
{
|
||||
}
|
||||
@ -18,6 +25,7 @@ void CTimer::start(int interval)
|
||||
{
|
||||
if (m_active)
|
||||
return;
|
||||
m_interval = interval;
|
||||
start_timer(interval);
|
||||
m_active = true;
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
class CTimer final : public CObject {
|
||||
public:
|
||||
explicit CTimer(CObject* parent = nullptr);
|
||||
CTimer(int interval, Function<void()>&& timeout_handler, CObject* parent = nullptr);
|
||||
virtual ~CTimer() override;
|
||||
|
||||
void start();
|
||||
|
@ -142,8 +142,7 @@ WSWindowManager::WSWindowManager()
|
||||
// NOTE: This ensures that the system menu has the correct dimensions.
|
||||
set_current_menubar(nullptr);
|
||||
|
||||
auto* timer = new CTimer;
|
||||
timer->on_timeout = [this] {
|
||||
new CTimer(300, [this] {
|
||||
static time_t last_update_time;
|
||||
time_t now = time(nullptr);
|
||||
if (now != last_update_time || m_cpu_monitor.is_dirty()) {
|
||||
@ -151,8 +150,7 @@ WSWindowManager::WSWindowManager()
|
||||
last_update_time = now;
|
||||
m_cpu_monitor.set_dirty(false);
|
||||
}
|
||||
};
|
||||
timer->start(300);
|
||||
});
|
||||
|
||||
invalidate();
|
||||
compose();
|
||||
|
Loading…
Reference in New Issue
Block a user