24 const int KThumbnailsPriority = EPriorityLess; //standard priority |
24 const int KThumbnailsPriority = EPriorityLess; //standard priority |
25 |
25 |
26 |
26 |
27 MyDataProvider::MyDataProvider(QObject *parent) : |
27 MyDataProvider::MyDataProvider(QObject *parent) : |
28 HgDataProviderModel(parent), |
28 HgDataProviderModel(parent), |
29 mDefaultIcon(QIcon(QPixmap(":/icons/default.png"))), |
|
30 mScheduler(new CActiveSchedulerWait()), |
29 mScheduler(new CActiveSchedulerWait()), |
31 mWrapper( new ThumbnailManager() ), |
30 mWrapper( new ThumbnailManager() ), |
32 mThumbnailRequestPending(false), |
31 mThumbnailRequestPending(false), |
33 mThumbnailRequestIndex(-1), |
32 mThumbnailRequestIndex(-1), |
34 mThumbnailRequestID(-1), |
33 mThumbnailRequestID(-1), |
35 mThumbnailsize(ThumbnailManager::ThumbnailMedium), |
34 mThumbnailsize(ThumbnailManager::ThumbnailMedium), |
36 mMDSLoadInProgress(false), |
35 mMDSLoadInProgress(false), |
37 mMode(0), |
36 mMode(0) |
38 mNoIcon(QIcon(QPixmap(":/icons/noIcon.png"))) |
|
39 { |
37 { |
40 // TX_ENTRY |
38 // TX_ENTRY |
41 Q_UNUSED(parent); |
39 Q_UNUSED(parent); |
|
40 QPixmap defaultPixmap(":/icons/default.png"); |
|
41 mDefaultIcon.insert(HgDataProviderIconHbIcon, HbIcon(":/icons/default.png")); |
|
42 mDefaultIcon.insert(HgDataProviderIconQIcon, QIcon(defaultPixmap)); |
|
43 mDefaultIcon.insert(HgDataProviderIconQImage, defaultPixmap.toImage()); |
|
44 mDefaultIcon.insert(HgDataProviderIconQPixmap, defaultPixmap); |
|
45 |
|
46 QPixmap noIconPixmap(":/icons/noIcon.png"); |
|
47 mNoIcon.insert(HgDataProviderIconHbIcon, HbIcon(":/icons/noIcon.png")); |
|
48 mNoIcon.insert(HgDataProviderIconQIcon, QIcon(noIconPixmap)); |
|
49 mNoIcon.insert(HgDataProviderIconQImage, noIconPixmap.toImage()); |
|
50 mNoIcon.insert(HgDataProviderIconQPixmap, noIconPixmap); |
42 |
51 |
43 mWrapper->setThumbnailSize( mThumbnailsize ); |
52 mWrapper->setThumbnailSize( mThumbnailsize ); |
44 mWrapper->setQualityPreference( ThumbnailManager::OptimizeForPerformance ); |
53 mWrapper->setQualityPreference( ThumbnailManager::OptimizeForPerformance ); |
45 |
54 |
46 QObject::connect( mWrapper, SIGNAL(thumbnailReady( QPixmap , void* , int, int ) ), |
55 QObject::connect( mWrapper, SIGNAL(thumbnailReady( QPixmap , void* , int, int ) ), |
106 void *clientData = reinterpret_cast<void *>(i); |
115 void *clientData = reinterpret_cast<void *>(i); |
107 mThumbnailRequestID = mWrapper->getThumbnail(uId, clientData, KThumbnailsPriority); |
116 mThumbnailRequestID = mWrapper->getThumbnail(uId, clientData, KThumbnailsPriority); |
108 mThumbnailRequestIndex = i; |
117 mThumbnailRequestIndex = i; |
109 mThumbnailRequestPending = true; |
118 mThumbnailRequestPending = true; |
110 } else { |
119 } else { |
111 updateIcon(i, mNoIcon, true); |
120 updateIcon(i, mNoIcon[iconMode()], true); |
112 getNextThumbnail(); |
121 getNextThumbnail(); |
113 } |
122 } |
114 } |
123 } |
115 // TX_EXIT |
124 // TX_EXIT |
116 } |
125 } |
122 |
131 |
123 void MyDataProvider::thumbnailReady( QPixmap pixmap, void* data, int id, int error ) |
132 void MyDataProvider::thumbnailReady( QPixmap pixmap, void* data, int id, int error ) |
124 { |
133 { |
125 // TX_ENTRY |
134 // TX_ENTRY |
126 Q_UNUSED(id); |
135 Q_UNUSED(id); |
|
136 int idx = reinterpret_cast<int>(data); |
127 if (!error && pixmap.rect().height()>0 && pixmap.rect().width()>0 ) { |
137 if (!error && pixmap.rect().height()>0 && pixmap.rect().width()>0 ) { |
128 int idx = reinterpret_cast<int>(data); |
|
129 TX_LOG_ARGS(QString("thumbnailReady idx = %0").arg(idx)); |
138 TX_LOG_ARGS(QString("thumbnailReady idx = %0").arg(idx)); |
130 // updateIcon(idx, HbIcon( QIcon( pixmap ) ) ); |
|
131 // update(idx, HbIcon( QIcon( pixmap ) ), Qt::DecorationRole, false); |
|
132 updateIcon(idx, createIcon(idx, pixmap)); |
139 updateIcon(idx, createIcon(idx, pixmap)); |
133 } else { |
140 } else { |
134 TX_LOG_ARGS(QString("error:%0 id:%0").arg(error).arg(id)); |
141 updateIcon(idx, mNoIcon[iconMode()], true); |
|
142 TX_LOG_ARGS(QString("error:%0 id:%0").arg(error).arg(idx)); |
135 } |
143 } |
136 mThumbnailRequestIndex = -1; |
144 mThumbnailRequestIndex = -1; |
137 mThumbnailRequestID = -1; |
145 mThumbnailRequestID = -1; |
138 mThumbnailRequestPending = false; |
146 mThumbnailRequestPending = false; |
139 getNextThumbnail(); |
147 getNextThumbnail(); |