From 5b7bbddc91117f13e0a77e0cfe8681496032dbb7 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 25 Oct 2021 13:19:30 +0200 Subject: Add "Mobile" to User-Agent header for embedded browser As the browser window is rather small, try to get a mobile optimized version of whatever login page we're supposed to display. --- src/webview.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/webview.cpp b/src/webview.cpp index 0ca7328..17a5261 100644 --- a/src/webview.cpp +++ b/src/webview.cpp @@ -9,6 +9,21 @@ #include #include #include +#include +#include + +// Override user-agent to make it appear mobile +class UaWebPage : public QWebPage +{ +public: + static QRegularExpression re; + + QString userAgentForUrl(const QUrl &url) const override { + return QWebPage::userAgentForUrl(url).replace(re, "Mobile \\1"); + } +}; + +QRegularExpression UaWebPage::re("(\\S+)$"); WebView::WebView(QWidget* parent) : QWebView(parent), @@ -16,6 +31,7 @@ WebView::WebView(QWidget* parent) _abortedDownload(false), _timerReset(new QTimer(this)) { + this->setPage(new UaWebPage); _timerAbortMessage->setSingleShot(true); _timerReset->setSingleShot(true); connect(page(), SIGNAL(windowCloseRequested()), this, SLOT(windowCloseRequested())); -- cgit v1.2.3-55-g7522