diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2021-06-03 14:49:27 +0200 |
---|---|---|
committer | Kirill Burtsev <kirill.burtsev@qt.io> | 2021-06-08 08:58:04 +0200 |
commit | a9795a11874b7f50ee91a9191d5c3ed4294537b7 (patch) | |
tree | b8c57e970081be288dae4fdc9ce4139fffe5bda7 /src/core/api/qwebenginepage.cpp | |
parent | c43661d01bad15a39c361cf054d0af093d5c0f81 (diff) |
QWebEnginePage: add new 'loading' property and expose QWebEngineLoadingInfo
[ChangeLog][QWebEngineWidgets][QWebEnginePage] QWebEngineLoadingInfo is
now exposed on loadingChanged signal with new 'loading' property
Fixes: QTBUG-53333
Task-number: QTBUG-61100
Change-Id: I7773030726faeb1d65cc85a4d688a80f6dbe2c80
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/core/api/qwebenginepage.cpp')
-rw-r--r-- | src/core/api/qwebenginepage.cpp | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/core/api/qwebenginepage.cpp b/src/core/api/qwebenginepage.cpp index 5298849f8..d073b4996 100644 --- a/src/core/api/qwebenginepage.cpp +++ b/src/core/api/qwebenginepage.cpp @@ -301,20 +301,23 @@ QColor QWebEnginePagePrivate::backgroundColor() const return m_backgroundColor; } -void QWebEnginePagePrivate::loadStarted(QWebEngineLoadingInfo /* info */) +void QWebEnginePagePrivate::loadStarted(QWebEngineLoadingInfo info) { Q_Q(QWebEnginePage); isLoading = true; - QTimer::singleShot(0, q, &QWebEnginePage::loadStarted); + QTimer::singleShot(0, q, [q, info = std::move(info)] () { + Q_EMIT q->loadStarted(); + Q_EMIT q->loadingChanged(info); + }); } void QWebEnginePagePrivate::loadFinished(QWebEngineLoadingInfo info) { Q_Q(QWebEnginePage); isLoading = false; - bool success = info.status() == QWebEngineLoadingInfo::LoadSucceededStatus; - QTimer::singleShot(0, q, [q, success] () { - emit q->loadFinished(success); + QTimer::singleShot(0, q, [q, info = std::move(info)] () { + Q_EMIT q->loadFinished(info.status() == QWebEngineLoadingInfo::LoadSucceededStatus); + Q_EMIT q->loadingChanged(info); }); } @@ -1863,6 +1866,21 @@ void QWebEnginePage::download(const QUrl& url, const QString& filename) d->adapter->download(url, filename); } +/*! + \property QWebEnginePage::loading + \since 6.2 + + \brief Whether the page is currently loading. + + The \l loadingChanged() signal is emitted when loading the page begins, ends, or fails. + + \sa QWebEngineLoadingInfo, loadStarted, loadFinished +*/ +bool QWebEnginePage::isLoading() const +{ + return d_ptr->isLoading; +} + void QWebEnginePage::load(const QUrl& url) { Q_D(QWebEnginePage); |