From 80e2c7a47b51a09247c86b220be4abcf298e3f69 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Wed, 29 Aug 2018 14:10:36 +0200 Subject: WebUI example: Reduce duplications MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Declare scheme name and about URL in one place. Change-Id: Id8eb69f2a8516dd21e6abedc2adda828a5a9e18c Reviewed-by: Jüri Valdmann --- examples/webenginewidgets/webui/main.cpp | 5 +++-- examples/webenginewidgets/webui/webuihandler.cpp | 14 +++++++++----- examples/webenginewidgets/webui/webuihandler.h | 3 +++ 3 files changed, 15 insertions(+), 7 deletions(-) (limited to 'examples') diff --git a/examples/webenginewidgets/webui/main.cpp b/examples/webenginewidgets/webui/main.cpp index 54e0c145c..3e9f61fe4 100644 --- a/examples/webenginewidgets/webui/main.cpp +++ b/examples/webenginewidgets/webui/main.cpp @@ -58,6 +58,7 @@ int main(int argc, char *argv[]) { QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + WebUiHandler::registerUrlScheme(); QApplication app(argc, argv); @@ -65,10 +66,10 @@ int main(int argc, char *argv[]) QWebEngineProfile profile; WebUiHandler handler; - profile.installUrlSchemeHandler(QByteArrayLiteral("webui"), &handler); + profile.installUrlSchemeHandler(WebUiHandler::schemeName, &handler); QWebEnginePage page(&profile); - page.load(QStringLiteral("webui:about")); + page.load(WebUiHandler::aboutUrl); QWebEngineView view; view.setPage(&page); diff --git a/examples/webenginewidgets/webui/webuihandler.cpp b/examples/webenginewidgets/webui/webuihandler.cpp index 42446b88e..246af9d07 100644 --- a/examples/webenginewidgets/webui/webuihandler.cpp +++ b/examples/webenginewidgets/webui/webuihandler.cpp @@ -55,6 +55,11 @@ #include #include +#define SCHEMENAME "webui" + +const QByteArray WebUiHandler::schemeName = QByteArrayLiteral(SCHEMENAME); +const QUrl WebUiHandler::aboutUrl = QUrl(QStringLiteral(SCHEMENAME ":about")); + WebUiHandler::WebUiHandler(QObject *parent) : QWebEngineUrlSchemeHandler(parent) { @@ -62,8 +67,7 @@ WebUiHandler::WebUiHandler(QObject *parent) void WebUiHandler::requestStarted(QWebEngineUrlRequestJob *job) { - static const QUrl webuiAboutUrl(QStringLiteral("webui:about")); - static const QUrl webUiOrigin(QStringLiteral("webui:")); + static const QUrl webUiOrigin(QStringLiteral(SCHEMENAME ":")); static const QByteArray GET(QByteArrayLiteral("GET")); static const QByteArray POST(QByteArrayLiteral("POST")); @@ -71,11 +75,11 @@ void WebUiHandler::requestStarted(QWebEngineUrlRequestJob *job) QUrl url = job->requestUrl(); QUrl initiator = job->initiator(); - if (method == GET && url == webuiAboutUrl) { + if (method == GET && url == aboutUrl) { QFile *file = new QFile(QStringLiteral(":/about.html"), job); file->open(QIODevice::ReadOnly); job->reply(QByteArrayLiteral("text/html"), file); - } else if (method == POST && url == webuiAboutUrl && initiator == webUiOrigin) { + } else if (method == POST && url == aboutUrl && initiator == webUiOrigin) { job->fail(QWebEngineUrlRequestJob::RequestAborted); QApplication::exit(); } else { @@ -86,7 +90,7 @@ void WebUiHandler::requestStarted(QWebEngineUrlRequestJob *job) // static void WebUiHandler::registerUrlScheme() { - QWebEngineUrlScheme webUiScheme(QByteArrayLiteral("webui")); + QWebEngineUrlScheme webUiScheme(schemeName); webUiScheme.setFlags(QWebEngineUrlScheme::Secure | QWebEngineUrlScheme::Local | QWebEngineUrlScheme::LocalAccessAllowed); diff --git a/examples/webenginewidgets/webui/webuihandler.h b/examples/webenginewidgets/webui/webuihandler.h index f9d7b91df..f2ac0dcef 100644 --- a/examples/webenginewidgets/webui/webuihandler.h +++ b/examples/webenginewidgets/webui/webuihandler.h @@ -62,6 +62,9 @@ public: void requestStarted(QWebEngineUrlRequestJob *job) override; static void registerUrlScheme(); + + const static QByteArray schemeName; + const static QUrl aboutUrl; }; #endif // !WEBUIHANDLER_H -- cgit v1.2.3