aboutsummaryrefslogtreecommitdiff
path: root/src/webengine/widgets/pagetoolsmenu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine/widgets/pagetoolsmenu.cpp')
-rw-r--r--src/webengine/widgets/pagetoolsmenu.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/webengine/widgets/pagetoolsmenu.cpp b/src/webengine/widgets/pagetoolsmenu.cpp
new file mode 100644
index 0000000..9a85f69
--- /dev/null
+++ b/src/webengine/widgets/pagetoolsmenu.cpp
@@ -0,0 +1,37 @@
+/*
+ * This file is part of smolbote. It's copyrighted by the contributors recorded
+ * in the version control history of the file, available from its original
+ * location: https://neueland.iserlohn-fortress.net/smolbote.hg
+ *
+ * SPDX-License-Identifier: GPL-3.0
+ */
+
+#include "pagetoolsmenu.h"
+#include "../webview.h"
+#include <QWebEngineProfile>
+#include <QWebEngineScriptCollection>
+
+PageToolsMenu::PageToolsMenu(WebView *parent)
+ : QMenu(parent)
+{
+ Q_CHECK_PTR(parent);
+ parentView = parent;
+
+ connect(this, &QMenu::aboutToShow, this, &PageToolsMenu::createEntries);
+}
+
+void PageToolsMenu::createEntries()
+{
+ clear();
+
+ auto *scriptsMenu = new QMenu(tr("Injected scripts"), this);
+ for(const auto &script : parentView->page()->scripts().toList()) {
+ scriptsMenu->addAction(script.name())->setEnabled(false);
+ }
+ addMenu(scriptsMenu);
+
+ auto *devToolsAction = addAction(tr("Dev tools page"));
+ connect(devToolsAction, &QAction::triggered, this, [this]() {
+ parentView->popupPage(parentView->page()->devToolsPage());
+ });
+}