From c04f504afdce120d7272084fb7283422f13d5baa Mon Sep 17 00:00:00 2001 From: Jan Arve Saether <jan-arve.saether@digia.com> Date: Wed, 20 Mar 2013 14:02:34 +0100 Subject: [PATCH] React to implicit size changes Change-Id: I4f048158d437a4a02fb6c78165ccb21d4f144916 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> --- src/layouts/qquicklinearlayout.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/layouts/qquicklinearlayout.cpp b/src/layouts/qquicklinearlayout.cpp index a8a9ea66b..1bdc62f8e 100644 --- a/src/layouts/qquicklinearlayout.cpp +++ b/src/layouts/qquicklinearlayout.cpp @@ -195,6 +195,7 @@ void QQuickGridLayoutBase::itemChange(ItemChange change, const ItemChangeData &v QObject::connect(item, SIGNAL(destroyed()), this, SLOT(onItemDestroyed())); QObject::connect(item, SIGNAL(visibleChanged()), this, SLOT(onItemVisibleChanged())); QObject::connect(item, SIGNAL(implicitWidthChanged()), this, SLOT(onItemImplicitSizeChanged())); + QObject::connect(item, SIGNAL(implicitHeightChanged()), this, SLOT(onItemImplicitSizeChanged())); if (isComponentComplete() && isVisible()) updateLayoutItems(); @@ -204,6 +205,7 @@ void QQuickGridLayoutBase::itemChange(ItemChange change, const ItemChangeData &v QObject::disconnect(item, SIGNAL(destroyed()), this, SLOT(onItemDestroyed())); QObject::disconnect(item, SIGNAL(visibleChanged()), this, SLOT(onItemVisibleChanged())); QObject::disconnect(item, SIGNAL(implicitWidthChanged()), this, SLOT(onItemImplicitSizeChanged())); + QObject::disconnect(item, SIGNAL(implicitHeightChanged()), this, SLOT(onItemImplicitSizeChanged())); if (isComponentComplete() && isVisible()) updateLayoutItems(); } @@ -297,9 +299,10 @@ void QQuickGridLayoutBase::onItemDestroyed() void QQuickGridLayoutBase::onItemImplicitSizeChanged() { - //QQuickItem *item = static_cast<QQuickItem *>(sender()); - //Q_ASSERT(item); - //invalidate(item); + QQuickItem *item = static_cast<QQuickItem *>(sender()); + Q_ASSERT(item); + invalidate(item); + propagateLayoutSizeHints(); } void QQuickGridLayoutBase::rearrange(const QSizeF &size) -- GitLab