diff options
author | Bea Lam <bea.lam@nokia.com> | 2012-05-25 17:33:02 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-28 02:39:10 +0200 |
commit | 1deba22774e59458dc2e485f1cdf8f5b547d2941 (patch) | |
tree | 93b86efe4bf43cd44e4637c264d62d204d074227 /src/quick/items/qquickitemview.cpp | |
parent | add9da7811aca90febf90555f4c18e5d84ab7eec (diff) |
Don't override "z" bindings for header and footer
Headers and footers are given a default z value. This value
should be set between Component beginCreate() and completeCreate()
to avoid overwriting any binding in the header or footer item
that has already set the 'z' value.
Change-Id: I8e3ee97232d99500a32f2d77d2b663016eb404f7
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/quick/items/qquickitemview.cpp')
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index bab505e790..88a8a30b0c 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -2260,10 +2260,10 @@ bool QQuickItemViewPrivate::releaseItem(FxViewItem *item) QQuickItem *QQuickItemViewPrivate::createHighlightItem() { - return createComponentItem(highlightComponent, true); + return createComponentItem(highlightComponent, 0.0, true); } -QQuickItem *QQuickItemViewPrivate::createComponentItem(QQmlComponent *component, bool createDefault) +QQuickItem *QQuickItemViewPrivate::createComponentItem(QQmlComponent *component, qreal zValue, bool createDefault) { Q_Q(QQuickItemView); @@ -2272,7 +2272,7 @@ QQuickItem *QQuickItemViewPrivate::createComponentItem(QQmlComponent *component, QQmlContext *creationContext = component->creationContext(); QQmlContext *context = new QQmlContext( creationContext ? creationContext : qmlContext(q)); - QObject *nobj = component->create(context); + QObject *nobj = component->beginCreate(context); if (nobj) { QQml_setParent_noEvent(context, nobj); item = qobject_cast<QQuickItem *>(nobj); @@ -2285,9 +2285,12 @@ QQuickItem *QQuickItemViewPrivate::createComponentItem(QQmlComponent *component, item = new QQuickItem; } if (item) { + item->setZ(zValue); QQml_setParent_noEvent(item, q->contentItem()); item->setParentItem(q->contentItem()); } + if (component) + component->completeCreate(); return item; } |