diff options
Diffstat (limited to '')
| -rw-r--r-- | src/widgets/WebViewStack.cpp | 7 | ||||
| -rw-r--r-- | src/widgets/WebViewStack.hpp | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/widgets/WebViewStack.cpp b/src/widgets/WebViewStack.cpp index 53224c5..c48a363 100644 --- a/src/widgets/WebViewStack.cpp +++ b/src/widgets/WebViewStack.cpp @@ -80,7 +80,7 @@ QList<WebViewData> WebViewStack::get_webview_list() { return urls; } -void WebViewStack::on_new_webview_request(const QWebEngineNewWindowRequest &request) { +void WebViewStack::on_new_webview_request(QWebEngineNewWindowRequest &request) { switch (request.destination()) { case QWebEngineNewWindowRequest::InNewTab: open_url(request.requestedUrl(), OpenType::OpenUrlInView); @@ -90,7 +90,10 @@ void WebViewStack::on_new_webview_request(const QWebEngineNewWindowRequest &requ break; case QWebEngineNewWindowRequest::InNewWindow: case QWebEngineNewWindowRequest::InNewDialog: - emit new_window_requested(request.requestedUrl()); + // NOTE: Using tabs for now instead of windows + auto *webview = create_new_webview(request.requestedUrl(), true); + request.openIn(webview->page()); + // emit new_window_requested(request.requestedUrl()); break; } } diff --git a/src/widgets/WebViewStack.hpp b/src/widgets/WebViewStack.hpp index 6e17753..1b8b288 100644 --- a/src/widgets/WebViewStack.hpp +++ b/src/widgets/WebViewStack.hpp @@ -3,6 +3,7 @@ #include <QStackedLayout> #include <QWebEngineProfile> #include <cstdint> +#include <functional> #include <qwebengineprofile.h> #include <vector> @@ -72,7 +73,7 @@ public slots: void scroll_to_bottom(WebViewId webview_id); protected slots: - void on_new_webview_request(const QWebEngineNewWindowRequest &request); + void on_new_webview_request(QWebEngineNewWindowRequest &request); private: const Configuration *configuration; |
