From a9d767b209c503ac7b5dff5132aa213d47dcb608 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 19 Apr 2025 18:43:32 +0530 Subject: Add web.view.open_devtools for opening devtools --- src/widgets/WebView.hpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/widgets/WebView.hpp') diff --git a/src/widgets/WebView.hpp b/src/widgets/WebView.hpp index 98dceba..16c039c 100644 --- a/src/widgets/WebView.hpp +++ b/src/widgets/WebView.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -7,6 +8,29 @@ #include "utils.hpp" +class DevtoolsWindow : public QMainWindow { + Q_OBJECT + +public: + DevtoolsWindow(QWebEngineProfile *profile, QWidget *parent = nullptr, + Qt::WindowFlags flags = Qt::WindowFlags()) + : QMainWindow(parent, flags) { + webengineview = new QWebEngineView(profile, this); + this->setCentralWidget(webengineview); + } + + DELEGATE(webengineview, page, page) + +signals: + void closed(); + +protected: + void closeEvent(QCloseEvent * /* event */) override { emit closed(); } + +private: + QWebEngineView *webengineview; +}; + class WebView : public QWebEngineView { Q_OBJECT @@ -14,6 +38,10 @@ public: WebView(uint32_t webview_id, QWebEngineProfile *profile, QWidget *parent_node = nullptr); DEFINE_GETTER(get_id, id) + void open_devtools(); + private: uint32_t id; + + DevtoolsWindow *devtools_window = nullptr; }; -- cgit v1.3.1