diff options
Diffstat (limited to 'src/quick/items/qquickitemview.cpp')
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index 72f892178f..a6dabee7ba 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -249,7 +249,6 @@ QQuickItemView::~QQuickItemView() QQuickItem *QQuickItemView::currentItem() const { Q_D(const QQuickItemView); - const_cast<QQuickItemViewPrivate*>(d)->applyPendingChanges(); return d->currentItem ? d->currentItem->item : 0; } @@ -379,14 +378,12 @@ int QQuickItemView::count() const Q_D(const QQuickItemView); if (!d->model) return 0; - const_cast<QQuickItemViewPrivate*>(d)->applyPendingChanges(); return d->model->count(); } int QQuickItemView::currentIndex() const { Q_D(const QQuickItemView); - const_cast<QQuickItemViewPrivate*>(d)->applyPendingChanges(); return d->currentIndex; } @@ -496,7 +493,6 @@ QQmlComponent *QQuickItemView::header() const QQuickItem *QQuickItemView::headerItem() const { Q_D(const QQuickItemView); - const_cast<QQuickItemViewPrivate*>(d)->applyPendingChanges(); return d->header ? d->header->item : 0; } @@ -532,7 +528,6 @@ QQmlComponent *QQuickItemView::footer() const QQuickItem *QQuickItemView::footerItem() const { Q_D(const QQuickItemView); - const_cast<QQuickItemViewPrivate*>(d)->applyPendingChanges(); return d->footer ? d->footer->item : 0; } @@ -559,7 +554,6 @@ void QQuickItemView::setFooter(QQmlComponent *footerComponent) QQmlComponent *QQuickItemView::highlight() const { Q_D(const QQuickItemView); - const_cast<QQuickItemViewPrivate*>(d)->applyPendingChanges(); return d->highlightComponent; } @@ -579,7 +573,6 @@ void QQuickItemView::setHighlight(QQmlComponent *highlightComponent) QQuickItem *QQuickItemView::highlightItem() const { Q_D(const QQuickItemView); - const_cast<QQuickItemViewPrivate*>(d)->applyPendingChanges(); return d->highlight ? d->highlight->item : 0; } @@ -965,6 +958,12 @@ QQuickItem *QQuickItemView::itemAt(qreal x, qreal y) const return 0; } +void QQuickItemView::forceLayout() +{ + Q_D(QQuickItemView); + d->applyPendingChanges(); +} + void QQuickItemViewPrivate::applyPendingChanges() { Q_Q(QQuickItemView); @@ -2205,7 +2204,7 @@ FxViewItem *QQuickItemViewPrivate::createItem(int modelIndex, bool asynchronous) if (!delegateValidated) { delegateValidated = true; QObject* delegate = q->delegate(); - qmlInfo(delegate ? delegate : q) << q->tr("Delegate must be of Item type"); + qmlInfo(delegate ? delegate : q) << QQuickItemView::tr("Delegate must be of Item type"); } } inRequest = false; @@ -2260,8 +2259,10 @@ void QQuickItemView::destroyingItem(QObject *object) { Q_D(QQuickItemView); QQuickItem* item = qmlobject_cast<QQuickItem*>(object); - item->setParentItem(0); - d->unrequestedItems.remove(item); + if (item) { + item->setParentItem(0); + d->unrequestedItems.remove(item); + } } bool QQuickItemViewPrivate::releaseItem(FxViewItem *item) |