diff options
author | Andreas Hartmetz <andreas.hartmetz@kdab.com> | 2016-01-14 00:14:12 +0100 |
---|---|---|
committer | Andreas Hartmetz <andreas.hartmetz@kdab.com> | 2016-01-26 13:07:40 +0000 |
commit | a6875f4409bf575c1590fcaf295f9cacc9bdc0c5 (patch) | |
tree | a56725fdb64cd45969f70120865a21bb45cb5bc6 | |
parent | 16eaec15e8878c4edaadeada6d3a42aa0bf1bc96 (diff) |
Preparations for re-rendering native text on DPI scaling changes.
This makes only non-functional changes so the next patch can make
mostly functional changes.
QQuickText: rename q_imageLoaded() to q_updateLayout().
Says what it does, not when it is called.
QQuickWindow: split QQuickWindow::forcePolish() into
QQuickWindow::handleScreenChanged() and
QQuickWindowPrivate::forcePolish().
Change-Id: Ief2ae30cd9f27ee8083b2c75765fb5278bde5ea8
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
-rw-r--r-- | src/quick/items/qquicktext.cpp | 4 | ||||
-rw-r--r-- | src/quick/items/qquicktext_p.h | 2 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 17 | ||||
-rw-r--r-- | src/quick/items/qquickwindow.h | 2 | ||||
-rw-r--r-- | src/quick/items/qquickwindow_p.h | 1 |
5 files changed, 17 insertions, 9 deletions
diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index 5c436d2074..3aec464958 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -224,7 +224,7 @@ void QQuickTextPrivate::setBottomPadding(qreal value, bool reset) The default is true. */ -void QQuickText::q_imagesLoaded() +void QQuickText::q_updateLayout() { Q_D(QQuickText); d->updateLayout(); @@ -1170,7 +1170,7 @@ void QQuickTextPrivate::ensureDoc() extra->doc->setDocumentMargin(0); extra->doc->setBaseUrl(q->baseUrl()); qmlobject_connect(extra->doc, QQuickTextDocumentWithImageResources, SIGNAL(imagesLoaded()), - q, QQuickText, SLOT(q_imagesLoaded())); + q, QQuickText, SLOT(q_updateLayout())); } } diff --git a/src/quick/items/qquicktext_p.h b/src/quick/items/qquicktext_p.h index 5b385aeb0a..ea69aea3f9 100644 --- a/src/quick/items/qquicktext_p.h +++ b/src/quick/items/qquicktext_p.h @@ -292,7 +292,7 @@ protected: void invalidateFontCaches(); private Q_SLOTS: - void q_imagesLoaded(); + void q_updateLayout(); void triggerPreprocess(); void imageDownloadFinished(); diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 53527dcbd1..b93aa06336 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -285,6 +285,13 @@ void QQuickWindow::update() QQuickRenderControlPrivate::get(d->renderControl)->update(); } +void QQuickWindow::handleScreenChanged(QScreen *screen) +{ + Q_D(QQuickWindow); + Q_UNUSED(screen) + d->forcePolish(); +} + void forcePolishHelper(QQuickItem *item) { if (item->flags() & QQuickItem::ItemHasContents) { @@ -299,12 +306,12 @@ void forcePolishHelper(QQuickItem *item) /*! Schedules polish events on all items in the scene. */ -void QQuickWindow::forcePolish() +void QQuickWindowPrivate::forcePolish() { - Q_D(QQuickWindow); - if (!screen()) + Q_Q(QQuickWindow); + if (!q->screen()) return; - forcePolishHelper(d->contentItem); + forcePolishHelper(contentItem); } void forceUpdate(QQuickItem *item) @@ -473,7 +480,7 @@ void QQuickWindowPrivate::init(QQuickWindow *c, QQuickRenderControl *control) QObject::connect(context, SIGNAL(invalidated()), q, SLOT(cleanupSceneGraph()), Qt::DirectConnection); QObject::connect(q, SIGNAL(focusObjectChanged(QObject*)), q, SIGNAL(activeFocusItemChanged())); - QObject::connect(q, SIGNAL(screenChanged(QScreen*)), q, SLOT(forcePolish())); + QObject::connect(q, SIGNAL(screenChanged(QScreen*)), q, SLOT(handleScreenChanged(QScreen*))); QObject::connect(q, SIGNAL(frameSwapped()), q, SLOT(runJobsAfterSwap()), Qt::DirectConnection); } diff --git a/src/quick/items/qquickwindow.h b/src/quick/items/qquickwindow.h index d5bf9fba81..9f8ad095cd 100644 --- a/src/quick/items/qquickwindow.h +++ b/src/quick/items/qquickwindow.h @@ -196,7 +196,7 @@ protected: private Q_SLOTS: void maybeUpdate(); void cleanupSceneGraph(); - void forcePolish(); + void handleScreenChanged(QScreen *screen); void setTransientParent_helper(QQuickWindow *window); void runJobsAfterSwap(); diff --git a/src/quick/items/qquickwindow_p.h b/src/quick/items/qquickwindow_p.h index e475c48b0a..623707140e 100644 --- a/src/quick/items/qquickwindow_p.h +++ b/src/quick/items/qquickwindow_p.h @@ -190,6 +190,7 @@ public: void cleanup(QSGNode *); void polishItems(); + void forcePolish(); void syncSceneGraph(); void renderSceneGraph(const QSize &size); |