From 45d8cd5c9fe2b2b30629929d2c1b4027e615f96c Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Sun, 16 Mar 2025 11:16:58 -0400 Subject: [PATCH] UI/Qt: Replace the Task Manager window with about:processes --- UI/Qt/Application.cpp | 25 +------------------ UI/Qt/Application.h | 4 --- UI/Qt/BrowserWindow.cpp | 5 ++-- UI/Qt/BrowserWindow.h | 1 - UI/Qt/CMakeLists.txt | 1 - UI/Qt/TaskManagerWindow.cpp | 49 ------------------------------------- UI/Qt/TaskManagerWindow.h | 32 ------------------------ 7 files changed, 3 insertions(+), 114 deletions(-) delete mode 100644 UI/Qt/TaskManagerWindow.cpp delete mode 100644 UI/Qt/TaskManagerWindow.h diff --git a/UI/Qt/Application.cpp b/UI/Qt/Application.cpp index 740c57551b9..3f1c57c40df 100644 --- a/UI/Qt/Application.cpp +++ b/UI/Qt/Application.cpp @@ -9,7 +9,6 @@ #include #include #include -#include #include #include @@ -26,10 +25,7 @@ void Application::create_platform_options(WebView::BrowserOptions&, WebView::Web web_content_options.config_path = Settings::the()->directory(); } -Application::~Application() -{ - close_task_manager_window(); -} +Application::~Application() = default; bool Application::event(QEvent* event) { @@ -52,25 +48,6 @@ bool Application::event(QEvent* event) return QApplication::event(event); } -void Application::show_task_manager_window() -{ - if (!m_task_manager_window) { - m_task_manager_window = new TaskManagerWindow(nullptr); - } - m_task_manager_window->show(); - m_task_manager_window->activateWindow(); - m_task_manager_window->raise(); -} - -void Application::close_task_manager_window() -{ - if (m_task_manager_window) { - m_task_manager_window->close(); - delete m_task_manager_window; - m_task_manager_window = nullptr; - } -} - BrowserWindow& Application::new_window(Vector const& initial_urls, BrowserWindow::IsPopupWindow is_popup_window, Tab* parent_tab, Optional page_index) { auto* window = new BrowserWindow(initial_urls, is_popup_window, parent_tab, move(page_index)); diff --git a/UI/Qt/Application.h b/UI/Qt/Application.h index 48c5bb6ac91..6daa98c7333 100644 --- a/UI/Qt/Application.h +++ b/UI/Qt/Application.h @@ -30,9 +30,6 @@ public: BrowserWindow& new_window(Vector const& initial_urls, BrowserWindow::IsPopupWindow is_popup_window = BrowserWindow::IsPopupWindow::No, Tab* parent_tab = nullptr, Optional page_index = {}); - void show_task_manager_window(); - void close_task_manager_window(); - BrowserWindow& active_window() { return *m_active_window; } void set_active_window(BrowserWindow& w) { m_active_window = &w; } @@ -41,7 +38,6 @@ private: virtual Optional ask_user_for_download_folder() const override; - TaskManagerWindow* m_task_manager_window { nullptr }; BrowserWindow* m_active_window { nullptr }; }; diff --git a/UI/Qt/BrowserWindow.cpp b/UI/Qt/BrowserWindow.cpp index a83f25761d0..1259b84aec8 100644 --- a/UI/Qt/BrowserWindow.cpp +++ b/UI/Qt/BrowserWindow.cpp @@ -23,7 +23,6 @@ #include #include #include -#include #include #include @@ -383,8 +382,8 @@ BrowserWindow::BrowserWindow(Vector const& initial_urls, IsPopupWindow task_manager_action->setIcon(load_icon_from_uri("resource://icons/16x16/app-system-monitor.png"sv)); task_manager_action->setShortcuts({ QKeySequence("Ctrl+Shift+M") }); inspect_menu->addAction(task_manager_action); - QObject::connect(task_manager_action, &QAction::triggered, this, [&] { - static_cast(QApplication::instance())->show_task_manager_window(); + QObject::connect(task_manager_action, &QAction::triggered, this, [this]() { + new_tab_from_url(URL::URL::about("processes"_string), Web::HTML::ActivateTab::Yes); }); auto* debug_menu = m_hamburger_menu->addMenu("&Debug"); diff --git a/UI/Qt/BrowserWindow.h b/UI/Qt/BrowserWindow.h index ca455c6496d..9ad69c44a27 100644 --- a/UI/Qt/BrowserWindow.h +++ b/UI/Qt/BrowserWindow.h @@ -25,7 +25,6 @@ namespace Ladybird { class SettingsDialog; class WebContentView; -class TaskManagerWindow; class BrowserWindow : public QMainWindow { Q_OBJECT diff --git a/UI/Qt/CMakeLists.txt b/UI/Qt/CMakeLists.txt index 8da50577220..79ba60b1f91 100644 --- a/UI/Qt/CMakeLists.txt +++ b/UI/Qt/CMakeLists.txt @@ -10,7 +10,6 @@ target_sources(ladybird PRIVATE SettingsDialog.cpp Tab.cpp TabBar.cpp - TaskManagerWindow.cpp TVGIconEngine.cpp StringUtils.cpp WebContentView.cpp diff --git a/UI/Qt/TaskManagerWindow.cpp b/UI/Qt/TaskManagerWindow.cpp deleted file mode 100644 index c4cee5f5d7a..00000000000 --- a/UI/Qt/TaskManagerWindow.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2024, Andrew Kaster - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#include -#include - -#include - -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()); -} - -} diff --git a/UI/Qt/TaskManagerWindow.h b/UI/Qt/TaskManagerWindow.h deleted file mode 100644 index 8084aaa9fdc..00000000000 --- a/UI/Qt/TaskManagerWindow.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2024, Andrew Kaster - * - * SPDX-License-Identifier: BSD-2-Clause - */ - -#pragma once - -#include - -#include -#include - -namespace Ladybird { - -class TaskManagerWindow : public QWidget { - Q_OBJECT - -public: - explicit TaskManagerWindow(QWidget* parent); - -private: - virtual void showEvent(QShowEvent*) override; - virtual void hideEvent(QHideEvent*) override; - - void update_statistics(); - - WebContentView* m_web_view { nullptr }; - QTimer m_update_timer; -}; - -}