aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitemview.cpp
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-05-25 17:33:02 +1000
committerQt by Nokia <qt-info@nokia.com>2012-05-28 02:39:10 +0200
commit1deba22774e59458dc2e485f1cdf8f5b547d2941 (patch)
tree93b86efe4bf43cd44e4637c264d62d204d074227 /src/quick/items/qquickitemview.cpp
parentadd9da7811aca90febf90555f4c18e5d84ab7eec (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.cpp9
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;
}