diff --git a/src/previewengine.cpp b/src/previewengine.cpp index cce8cba28cbeb8f9d7b8f0d33cbe1c7b2e279731..b5061c7314674e340042a1f7661c214c0d0d1896 100644 --- a/src/previewengine.cpp +++ b/src/previewengine.cpp @@ -24,7 +24,7 @@ #include <QWebEngineSettings> PreviewEngine::PreviewEngine(QObject* parent) - : QWebEngineView(qobject_cast<QWidget*>(parent)) + : QWebEnginePage(parent) , pimpl_(new PreviewEnginePrivate(this)) { QWebEngineProfile* profile = QWebEngineProfile::defaultProfile(); @@ -37,8 +37,6 @@ PreviewEngine::PreviewEngine(QObject* parent) profile->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies); profile->setHttpCacheType(QWebEngineProfile::NoCache); - setPage(new QWebEnginePage(profile, this)); - settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true); settings()->setAttribute(QWebEngineSettings::ScrollAnimatorEnabled, false); settings()->setAttribute(QWebEngineSettings::ErrorPageEnabled, false); @@ -51,27 +49,23 @@ PreviewEngine::PreviewEngine(QObject* parent) settings()->setAttribute(QWebEngineSettings::XSSAuditingEnabled, false); settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessFileUrls, true); - setContextMenuPolicy(Qt::ContextMenuPolicy::NoContextMenu); - channel_ = new QWebChannel(this); channel_->registerObject(QStringLiteral("jsbridge"), pimpl_); - page()->setWebChannel(channel_); - page()->runJavaScript(Utils::QByteArrayFromFile(":/linkify.js"), QWebEngineScript::MainWorld); - page()->runJavaScript(Utils::QByteArrayFromFile(":/linkify-string.js"), - QWebEngineScript::MainWorld); - page()->runJavaScript(Utils::QByteArrayFromFile(":/qwebchannel.js"), - QWebEngineScript::MainWorld); - page()->runJavaScript(Utils::QByteArrayFromFile(":/previewInfo.js"), - QWebEngineScript::MainWorld); - page()->runJavaScript(Utils::QByteArrayFromFile(":/misc/previewInterop.js"), - QWebEngineScript::MainWorld); + setWebChannel(channel_); + runJavaScript(Utils::QByteArrayFromFile(":/linkify.js"), QWebEngineScript::MainWorld); + runJavaScript(Utils::QByteArrayFromFile(":/linkify-string.js"), QWebEngineScript::MainWorld); + runJavaScript(Utils::QByteArrayFromFile(":/qwebchannel.js"), QWebEngineScript::MainWorld); + runJavaScript(Utils::QByteArrayFromFile(":/previewInfo.js"), QWebEngineScript::MainWorld); + runJavaScript(Utils::QByteArrayFromFile(":/misc/previewInterop.js"), + QWebEngineScript::MainWorld); } void PreviewEngine::parseMessage(const QString& messageId, const QString& msg, bool showPreview) { - page()->runJavaScript(QString("parseMessage(`%1`, `%2`, %3)").arg(messageId, msg, showPreview ? "true" : "false")); + runJavaScript( + QString("parseMessage(`%1`, `%2`, %3)").arg(messageId, msg, showPreview ? "true" : "false")); } void diff --git a/src/previewengine.h b/src/previewengine.h index 3122ad7391d102c8e8d63b1ad33b337d5d79cc3f..ea57f296a25c49dcc6f8754a37510330bc23e0d4 100644 --- a/src/previewengine.h +++ b/src/previewengine.h @@ -22,8 +22,7 @@ #include "utils.h" #include <QtWebChannel> -#include <QtWebEngineCore> -#include <QWebEngineView> +#include <QWebEnginePage> class PreviewEngine; @@ -43,7 +42,7 @@ private: PreviewEngine* parent_; }; -class PreviewEngine : public QWebEngineView +class PreviewEngine : public QWebEnginePage { Q_OBJECT public: