diff options
author | Martin Jones <martin.jones@nokia.com> | 2012-03-30 10:48:50 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-30 07:40:32 +0200 |
commit | 2ab873ed5fbb43404f119ef05b412485665a975f (patch) | |
tree | e66167b3e2d8712f96931734b1c7c62842c283f7 /src/quick/items/qquickimplicitsizeitem.cpp | |
parent | ab45c8da80968c4fabdb121c7eea48164d2216ff (diff) |
Size loaded item before bindings are evaluated
If the Loader size is set explicitly we can set the item size
before the bindings are run, and avoiding an additional
anchor layout.
Also ensure item implict size changes are propagated/notified in the
Loader.
Change-Id: Ie22b018b22be8457ccf30b907a26e44260b9cef7
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'src/quick/items/qquickimplicitsizeitem.cpp')
-rw-r--r-- | src/quick/items/qquickimplicitsizeitem.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/quick/items/qquickimplicitsizeitem.cpp b/src/quick/items/qquickimplicitsizeitem.cpp index 427be42312..1de8e0ab73 100644 --- a/src/quick/items/qquickimplicitsizeitem.cpp +++ b/src/quick/items/qquickimplicitsizeitem.cpp @@ -47,12 +47,24 @@ QT_BEGIN_NAMESPACE void QQuickImplicitSizeItemPrivate::implicitWidthChanged() { Q_Q(QQuickImplicitSizeItem); + for (int ii = 0; ii < changeListeners.count(); ++ii) { + const QQuickItemPrivate::ChangeListener &change = changeListeners.at(ii); + if (change.types & QQuickItemPrivate::ImplicitWidth) { + change.listener->itemImplicitWidthChanged(q); + } + } emit q->implicitWidthChanged(); } void QQuickImplicitSizeItemPrivate::implicitHeightChanged() { Q_Q(QQuickImplicitSizeItem); + for (int ii = 0; ii < changeListeners.count(); ++ii) { + const QQuickItemPrivate::ChangeListener &change = changeListeners.at(ii); + if (change.types & QQuickItemPrivate::ImplicitHeight) { + change.listener->itemImplicitHeightChanged(q); + } + } emit q->implicitHeightChanged(); } |