ladybird/UI/Qt/TaskManagerWindow.cpp
2024-11-10 12:50:45 +01:00

49 lines
1 KiB
C++

/*
* Copyright (c) 2024, Andrew Kaster <akaster@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWebView/Application.h>
#include <UI/Qt/TaskManagerWindow.h>
#include <QVBoxLayout>
namespace Ladybird {
TaskManagerWindow::TaskManagerWindow(QWidget* parent)
: QWidget(parent, Qt::WindowFlags(Qt::WindowType::Window))
, m_web_view(new WebContentView(this))
{
setLayout(new QVBoxLayout);
layout()->addWidget(m_web_view);
setWindowTitle("Task Manager");
resize(600, 400);
m_update_timer.setInterval(1000);
QObject::connect(&m_update_timer, &QTimer::timeout, [this] {
this->update_statistics();
});
update_statistics();
}
void TaskManagerWindow::showEvent(QShowEvent*)
{
m_update_timer.start();
}
void TaskManagerWindow::hideEvent(QHideEvent*)
{
m_update_timer.stop();
}
void TaskManagerWindow::update_statistics()
{
WebView::Application::the().update_process_statistics();
m_web_view->load_html(WebView::Application::the().generate_process_statistics_html());
}
}