hgcacheproxymodel/tsrc/fute/HgCacheProxyModelTestApp/src/mydataprovider.cpp
changeset 2 49c70dcc3f17
parent 1 e48454f237ca
child 3 c863538fcbb6
equal deleted inserted replaced
1:e48454f237ca 2:49c70dcc3f17
    60 }
    60 }
    61 
    61 
    62 void MyDataProvider::changeIconSize(ThumbnailManager::ThumbnailSize aThumbnailsize)
    62 void MyDataProvider::changeIconSize(ThumbnailManager::ThumbnailSize aThumbnailsize)
    63 {
    63 {
    64 //    TX_ENTRY
    64 //    TX_ENTRY
    65 //	we could  remove all iconsfrom cache and put default ones, but probably that would be waste of time, and it's better just to load new icons with correct sizes.
    65 //	we could  remove all icons from cache and put default ones, but probably that would be waste of time, and it's better just to load new icons with correct sizes.
    66 	mThumbnailsize = aThumbnailsize;
    66 	mThumbnailsize = aThumbnailsize;
    67 	mWrapper->setThumbnailSize( mThumbnailsize );
    67 	mWrapper->setThumbnailSize( mThumbnailsize );
    68 //    TX_EXIT
    68 //    TX_EXIT
    69 }
    69 }
    70 
    70 
    74 	Q_UNUSED(silent);
    74 	Q_UNUSED(silent);
    75     QString items = "Requested items:";
    75     QString items = "Requested items:";
    76     int i = 0;
    76     int i = 0;
    77 	for (int idx=0; idx<list.count(); idx++){
    77 	for (int idx=0; idx<list.count(); idx++){
    78         i = list[idx];
    78         i = list[idx];
    79 		if (containsRole(i, KItemIdRole) && !containsRole(i, Qt::DecorationRole)) {//if there is icon, don't request new one
    79 		if (containsRole(i, KItemIdRole) ) {
    80             items += QString("%0 ").arg(i);
    80             items += QString("%0 ").arg(i);
    81 			mWaitingThumbnails.append(i);
    81 			mWaitingThumbnails.append(i);
    82 		}
    82 		}
    83 	}
    83 	}
    84 	TX_LOG_ARGS(items);
    84 	TX_LOG_ARGS(items);
    92     if ( !mThumbnailRequestPending && mWaitingThumbnails.count()){
    92     if ( !mThumbnailRequestPending && mWaitingThumbnails.count()){
    93             int i = mWaitingThumbnails.takeFirst();
    93             int i = mWaitingThumbnails.takeFirst();
    94             if (i >=0 && i < count() && containsRole(i, KItemIdRole)) {
    94             if (i >=0 && i < count() && containsRole(i, KItemIdRole)) {
    95                 int id = (data(i, KItemIdRole)).toInt();
    95                 int id = (data(i, KItemIdRole)).toInt();
    96                 unsigned long int uId = (unsigned long int)id;
    96                 unsigned long int uId = (unsigned long int)id;
    97 //                TX_LOG_ARGS(QString("getThumbnail for index:%0 uID:%1").arg(i).arg(uId));
    97                 TX_LOG_ARGS(QString("getThumbnail for index:%0 uID:%1").arg(i).arg(uId));
    98                 void *clientData = reinterpret_cast<void *>(i);
    98                 void *clientData = reinterpret_cast<void *>(i);
    99                 mThumbnailRequestID = mWrapper->getThumbnail(uId, clientData, KThumbnailsPriority);
    99                 mThumbnailRequestID = mWrapper->getThumbnail(uId, clientData, KThumbnailsPriority);
   100                 mThumbnailRequestIndex = i;
   100                 mThumbnailRequestIndex = i;
   101                 mThumbnailRequestPending = true;            
   101                 mThumbnailRequestPending = true;            
   102         }
   102         }
   111 
   111 
   112 void MyDataProvider::thumbnailReady( QPixmap pixmap, void* data, int id, int error )
   112 void MyDataProvider::thumbnailReady( QPixmap pixmap, void* data, int id, int error )
   113 {
   113 {
   114 //    TX_ENTRY    
   114 //    TX_ENTRY    
   115     Q_UNUSED(id);
   115     Q_UNUSED(id);
   116     if (!error && pixmap.rect().height()>0  && pixmap.rect().width()>0 ){
   116     if (!error && pixmap.rect().height()>0  && pixmap.rect().width()>0 ) {
   117         int idx = reinterpret_cast<int>(data);
   117         int idx = reinterpret_cast<int>(data);
   118 //        TX_LOG_ARGS(QString("thumbnailReady idx = %0").arg(idx));
   118         TX_LOG_ARGS(QString("thumbnailReady idx = %0").arg(idx));
       
   119 //        updateIcon(idx, HbIcon( QIcon( pixmap ) ) );
       
   120 //        update(idx, HbIcon( QIcon( pixmap ) ), Qt::DecorationRole, false);
   119         updateIcon(idx, createIcon(idx, pixmap));
   121         updateIcon(idx, createIcon(idx, pixmap));
   120 	} else {
   122 	} else {
   121         TX_LOG_ARGS(QString("error:%0 id:%0").arg(error).arg(id));
   123         TX_LOG_ARGS(QString("error:%0 id:%0").arg(error).arg(id));
   122 	}
   124 	}
   123     mThumbnailRequestIndex = -1;
   125     mThumbnailRequestIndex = -1;
   127 //    TX_EXIT
   129 //    TX_EXIT
   128 }
   130 }
   129 
   131 
   130 void MyDataProvider::doReleaseData(QList<int> list, bool silent)
   132 void MyDataProvider::doReleaseData(QList<int> list, bool silent)
   131 {
   133 {
   132 //    TX_ENTRY    
   134     TX_ENTRY    
   133     Q_UNUSED(silent);
   135     Q_UNUSED(silent);
   134     int i = 0;
   136     int i = 0;
   135     QString items = "Released items:";
   137     QString items = "Released items:";
   136     for (int idx=0;idx<list.count(); idx++){
   138     for (int idx=0;idx<list.count(); idx++){
   137         i = list[idx];
   139         i = list[idx];
   147         releasePixmap(i);
   149         releasePixmap(i);
   148     }
   150     }
   149     TX_LOG_ARGS(items);
   151     TX_LOG_ARGS(items);
   150 
   152 
   151     getNextThumbnail();
   153     getNextThumbnail();
   152 //    TX_EXIT        
   154     TX_EXIT        
   153 }
   155 }
   154 
   156 
   155 QVariant MyDataProvider::defaultIcon() const
   157 QVariant MyDataProvider::defaultIcon() const
   156 {
   158 {
   157     return *mDefaultIcon;
   159     return *mDefaultIcon;
   201     mScheduler->AsyncStop();
   203     mScheduler->AsyncStop();
   202 }
   204 }
   203 
   205 
   204 void MyDataProvider::doResetModel()
   206 void MyDataProvider::doResetModel()
   205 {
   207 {
   206 
   208     TX_ENTRY
   207     if (mThumbnailRequestPending && mThumbnailRequestID!=-1){
   209     if (mThumbnailRequestPending && mThumbnailRequestID!=-1){
   208         mWrapper->cancelRequest(mThumbnailRequestID);
   210         mWrapper->cancelRequest(mThumbnailRequestID);
   209     }
   211     }
   210     mThumbnailRequestIndex = -1;
   212     mThumbnailRequestIndex = -1;
   211     mThumbnailRequestID = -1;
   213     mThumbnailRequestID = -1;
   229         CleanupStack::PopAndDestroy( 1 );
   231         CleanupStack::PopAndDestroy( 1 );
   230         delete session;        
   232         delete session;        
   231     );    
   233     );    
   232     
   234     
   233     
   235     
   234 //    TX_EXIT    
   236     TX_EXIT    
   235 }
   237 }
   236 
   238