summaryrefslogtreecommitdiff
path: root/src/webengine
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine')
-rw-r--r--src/webengine/webview.cpp25
-rw-r--r--src/webengine/webview.h25
2 files changed, 50 insertions, 0 deletions
diff --git a/src/webengine/webview.cpp b/src/webengine/webview.cpp
new file mode 100644
index 00000000..1aef01e2
--- /dev/null
+++ b/src/webengine/webview.cpp
@@ -0,0 +1,25 @@
+/* ============================================================
+ * The rekonq project
+ * ============================================================
+ * SPDX-License-Identifier: GPL-3.0-only
+ * Copyright (C) 2022 aqua <aqua@iserlohn-fortress.net>
+ * ============================================================
+ * Description: Qt WebEngine View
+ * ============================================================ */
+
+#include "webview.h"
+#include <QVBoxLayout>
+#include <QWebEngineView>
+
+WebView::WebView(const QUrl &url, QWidget *parent) : rView(url, parent), view(new QWebEngineView(this))
+{
+ auto *layout = new QVBoxLayout;
+ layout->setContentsMargins(0, 0, 0, 0);
+ layout->addWidget(view);
+ setLayout(layout);
+
+ connect(view, &QWebEngineView::iconChanged, this, [this](const QIcon &icon) { emit iconChanged(icon); });
+ connect(view, &QWebEngineView::urlChanged, this, [this](const QUrl &url) { emit urlChanged(url); });
+ connect(view, &QWebEngineView::titleChanged, this, [this](const QString &title) { emit titleChanged(title); });
+ view->load(url);
+}
diff --git a/src/webengine/webview.h b/src/webengine/webview.h
new file mode 100644
index 00000000..b838c5ac
--- /dev/null
+++ b/src/webengine/webview.h
@@ -0,0 +1,25 @@
+/* ============================================================
+ * The rekonq project
+ * ============================================================
+ * SPDX-License-Identifier: GPL-3.0-only
+ * Copyright (C) 2022 aqua <aqua@iserlohn-fortress.net>
+ * ============================================================
+ * Description: Qt WebEngine View
+ * ============================================================ */
+
+#pragma once
+
+#include "rview.h"
+
+class QWebEngineView;
+
+class WebView final : public rView {
+ Q_OBJECT
+
+public:
+ explicit WebView(const QUrl &url = QUrl(), QWidget *parent = nullptr);
+ ~WebView() final = default;
+
+private:
+ QWebEngineView *view;
+};