From 70bf79e3710f5acba3b7d2398e7c6f8ba1aba395 Mon Sep 17 00:00:00 2001 From: Juraj Oravec Date: Thu, 28 Sep 2023 22:55:50 +0200 Subject: [PATCH] Qt6 - Fix thumbnailer Signed-off-by: Juraj Oravec --- src/lib/data/data/thumbnailer-qt5.qml | 18 ++++++++++++++++++ src/lib/data/data/thumbnailer.qml | 6 +++--- src/lib/tools/pagethumbnailer.cpp | 4 ++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 src/lib/data/data/thumbnailer-qt5.qml diff --git a/src/lib/data/data/thumbnailer-qt5.qml b/src/lib/data/data/thumbnailer-qt5.qml new file mode 100644 index 000000000..01c2ce8a7 --- /dev/null +++ b/src/lib/data/data/thumbnailer-qt5.qml @@ -0,0 +1,18 @@ +import QtQuick 2.2 +import QtWebEngine 1.0 + +WebEngineView { + id: view + width: 1280 + height: 720 + + onLoadingChanged: { + if (loadRequest.status == WebEngineView.LoadStartedStatus) + return; + + var ok = loadRequest.status == WebEngineView.LoadSucceededStatus; + view.runJavaScript(thumbnailer.afterLoadScript(), function() { + thumbnailer.createThumbnail(ok); + }); + } +} diff --git a/src/lib/data/data/thumbnailer.qml b/src/lib/data/data/thumbnailer.qml index 01c2ce8a7..9af50902d 100644 --- a/src/lib/data/data/thumbnailer.qml +++ b/src/lib/data/data/thumbnailer.qml @@ -6,11 +6,11 @@ WebEngineView { width: 1280 height: 720 - onLoadingChanged: { - if (loadRequest.status == WebEngineView.LoadStartedStatus) + onLoadingChanged: function(loadingInfo) { + if (loadingInfo.status == WebEngineView.LoadStartedStatus) return; - var ok = loadRequest.status == WebEngineView.LoadSucceededStatus; + var ok = loadingInfo.status == WebEngineView.LoadSucceededStatus; view.runJavaScript(thumbnailer.afterLoadScript(), function() { thumbnailer.createThumbnail(ok); }); diff --git a/src/lib/tools/pagethumbnailer.cpp b/src/lib/tools/pagethumbnailer.cpp index f3491ed81..5cb6fae6f 100644 --- a/src/lib/tools/pagethumbnailer.cpp +++ b/src/lib/tools/pagethumbnailer.cpp @@ -33,7 +33,11 @@ PageThumbnailer::PageThumbnailer(QObject* parent) , m_loadTitle(false) { m_view->setAttribute(Qt::WA_DontShowOnScreen); +#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) + m_view->setSource(QUrl(QSL("qrc:data/thumbnailer-qt5.qml"))); +#else m_view->setSource(QUrl(QSL("qrc:data/thumbnailer.qml"))); +#endif m_view->rootContext()->setContextProperty(QSL("thumbnailer"), this); m_view->show(); }