summaryrefslogtreecommitdiffstats
path: root/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
diff options
context:
space:
mode:
authorDavid Boddie <david.boddie@nokia.com>2011-01-13 16:18:37 +0100
committerDavid Boddie <david.boddie@nokia.com>2011-01-13 16:18:37 +0100
commit83dc0f2bc78336d117f4842d0b030cc5f0a41eb4 (patch)
treedfbe406eafc21343c65925234365f1fb276c1f04 /src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
parente63c88ac355f9b8b029faab599fb35756f22fb2e (diff)
parent9ff210a8ba748ce3d46441886c8feb407e3aa9a6 (diff)
Merge branch '4.7' of ../qt into 4.7
Conflicts: doc/src/declarative/qdeclarativeintro.qdoc doc/src/declarative/qdeclarativereference.qdoc doc/src/snippets/declarative/focus/focusColumn.qml tools/qdoc3/apigenerator.cpp tools/qdoc3/apigenerator.h tools/qdoc3/archiveextractor.cpp tools/qdoc3/bookgenerator.cpp tools/qdoc3/bookgenerator.h tools/qdoc3/ccodeparser.cpp tools/qdoc3/command.cpp tools/qdoc3/command.h tools/qdoc3/cpptoqsconverter.cpp tools/qdoc3/dcfsection.cpp tools/qdoc3/dcfsection.h tools/qdoc3/jambiapiparser.cpp tools/qdoc3/jambiapiparser.h tools/qdoc3/javacodemarker.cpp tools/qdoc3/javacodemarker.h tools/qdoc3/javadocgenerator.cpp tools/qdoc3/javadocgenerator.h tools/qdoc3/linguistgenerator.cpp tools/qdoc3/linguistgenerator.h tools/qdoc3/loutgenerator.h tools/qdoc3/mangenerator.cpp tools/qdoc3/mangenerator.h tools/qdoc3/polyarchiveextractor.cpp tools/qdoc3/polyarchiveextractor.h tools/qdoc3/polyuncompressor.cpp tools/qdoc3/polyuncompressor.h tools/qdoc3/qsakernelparser.cpp tools/qdoc3/qscodemarker.cpp tools/qdoc3/qscodemarker.h tools/qdoc3/qscodeparser.cpp tools/qdoc3/qscodeparser.h tools/qdoc3/sgmlgenerator.cpp tools/qdoc3/sgmlgenerator.h tools/qdoc3/test/qt-html-templates.qdocconf tools/qdoc3/uncompressor.cpp tools/qdoc3/webxmlgenerator.cpp tools/qdoc3/webxmlgenerator.h
Diffstat (limited to 'src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp')
-rw-r--r--src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
index 4f5213a583..065a388c35 100644
--- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
+++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
@@ -773,6 +773,8 @@ void QDeclarativeVisualDataModel::setModel(const QVariant &model)
QObject::connect(d->m_abstractItemModel, SIGNAL(modelReset()), this, SLOT(_q_modelReset()));
QObject::connect(d->m_abstractItemModel, SIGNAL(layoutChanged()), this, SLOT(_q_layoutChanged()));
d->m_metaDataCacheable = true;
+ if (d->m_abstractItemModel->canFetchMore(d->m_root))
+ d->m_abstractItemModel->fetchMore(d->m_root);
return;
}
if ((d->m_visualItemModel = qvariant_cast<QDeclarativeVisualDataModel *>(model))) {
@@ -870,6 +872,8 @@ void QDeclarativeVisualDataModel::setRootIndex(const QVariant &root)
if (d->m_root != modelIndex) {
int oldCount = d->modelCount();
d->m_root = modelIndex;
+ if (d->m_abstractItemModel && d->m_abstractItemModel->canFetchMore(modelIndex))
+ d->m_abstractItemModel->fetchMore(modelIndex);
int newCount = d->modelCount();
if (d->m_delegate && oldCount)
emit itemsRemoved(0, oldCount);
@@ -1094,6 +1098,8 @@ QDeclarativeItem *QDeclarativeVisualDataModel::item(int index, const QByteArray
d->m_delegateValidated = true;
}
}
+ if (d->modelCount()-1 == index && d->m_abstractItemModel && d->m_abstractItemModel->canFetchMore(d->m_root))
+ d->m_abstractItemModel->fetchMore(d->m_root);
return item;
}