diff -r 1ef5359bf0f4 -r a10844a9914d hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mydataprovider.cpp --- a/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mydataprovider.cpp Fri Sep 03 10:22:04 2010 +0300 +++ b/hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mydataprovider.cpp Fri Sep 17 15:55:58 2010 +0300 @@ -17,7 +17,6 @@ */ #include #include "hglogger.h" -#include #include "mydataprovider.h" const int KItemIdRole = Qt::UserRole+1; @@ -35,7 +34,8 @@ mThumbnailRequestID(-1), mThumbnailsize(ThumbnailManager::ThumbnailMedium), mMDSLoadInProgress(false), -mMode(0) +mMode(0), +mNoIcon(QIcon(QPixmap(":/icons/noIcon.png"))) { // TX_ENTRY Q_UNUSED(parent); @@ -76,35 +76,40 @@ void MyDataProvider::doRequestData(QList list, bool silent) { - TX_ENTRY +// TX_ENTRY Q_UNUSED(silent); - QString items = "Requested items:"; +// QString items = "Requested items:"; int i = 0; + for (int idx=0; idx=0 && i < count() && containsRole(i, KItemIdRole)) { - int id = (data(i, KItemIdRole)).toInt(); - unsigned long int uId = (unsigned long int)id; - TX_LOG_ARGS(QString("getThumbnail for index:%0 uID:%1").arg(i).arg(uId)); - void *clientData = reinterpret_cast(i); - mThumbnailRequestID = mWrapper->getThumbnail(uId, clientData, KThumbnailsPriority); - mThumbnailRequestIndex = i; - mThumbnailRequestPending = true; + int i = mWaitingThumbnails.takeFirst(); + if (i >=0 && i < count() && containsRole(i, KItemIdRole)) { + int id = (data(i, KItemIdRole)).toInt(); + unsigned long int uId = (unsigned long int)id; + TX_LOG_ARGS(QString("getThumbnail for index:%0 uID:%1").arg(i).arg(uId)); + void *clientData = reinterpret_cast(i); + mThumbnailRequestID = mWrapper->getThumbnail(uId, clientData, KThumbnailsPriority); + mThumbnailRequestIndex = i; + mThumbnailRequestPending = true; + } else { + updateIcon(i, mNoIcon, true); + getNextThumbnail(); } } // TX_EXIT @@ -140,7 +145,7 @@ TX_ENTRY Q_UNUSED(silent); int i = 0; - QString items = "Released items:"; +// QString items = "Released items:"; for (int idx=0;idx > list; + QString s = QString("ITEM%1").arg(i); + if (i%2){ + s = s.toLower(); + } + list.append( QPair< QVariant, int >(s, Qt::DisplayRole) ); + list.append( QPair< QVariant, int >(QVariant(i), Qt::UserRole+2) ); + newItem(&list); + newItem(); + } + } TX_EXIT } void MyDataProvider::testRemoveItem(int pos) @@ -260,4 +277,3 @@ insertItem(pos, data, false); TX_EXIT } -