diff options
author | Martin Jones <martin.jones@nokia.com> | 2010-07-19 05:30:06 (GMT) |
---|---|---|
committer | Jason McDonald <jason.mcdonald@nokia.com> | 2010-07-19 10:21:15 (GMT) |
commit | 7a748e9bb8ffc0e41eb38bebfa80cf9b6111169d (patch) | |
tree | e668f27df49131cde6e4616e57c0c88d60bf069d /src | |
parent | bb28f2217bae0a1e5f7645993a4a2540195eaeb6 (diff) | |
download | Qt-7a748e9bb8ffc0e41eb38bebfa80cf9b6111169d.zip Qt-7a748e9bb8ffc0e41eb38bebfa80cf9b6111169d.tar.gz Qt-7a748e9bb8ffc0e41eb38bebfa80cf9b6111169d.tar.bz2 |
Fix ListView sections with QList<QObject*>
QDeclarativeVisualDataModel::stringValue() did not handle
QList<QObject*> model types.
Task-number: QTBUG-12005
(cherry picked from commit b6251d31652232a6ac3a5dff54ad4229542089b1)
Diffstat (limited to 'src')
-rw-r--r-- | src/declarative/graphicsitems/qdeclarativelistview.cpp | 2 | ||||
-rw-r--r-- | src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 110c970..6d127b5 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -577,7 +577,7 @@ FxListItem *QDeclarativeListViewPrivate::createItem(int modelIndex) listItem->attached->m_prevSection = sectionAt(modelIndex-1); if (FxListItem *item = visibleItem(modelIndex+1)) listItem->attached->m_nextSection = item->attached->section(); - else + else if (modelIndex < model->count()-1) listItem->attached->m_nextSection = sectionAt(modelIndex+1); } } diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp index 786d6f9..cfa1c6d 100644 --- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp +++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp @@ -1089,6 +1089,11 @@ QString QDeclarativeVisualDataModel::stringValue(int index, const QString &name) if (d->m_visualItemModel) return d->m_visualItemModel->stringValue(index, name); + if ((!d->m_listModelInterface || !d->m_abstractItemModel) && d->m_listAccessor) { + if (QObject *object = d->m_listAccessor->at(index).value<QObject*>()) + return object->property(name.toUtf8()).toString(); + } + if ((!d->m_listModelInterface && !d->m_abstractItemModel) || !d->m_delegate) return QString(); |