33 mThumbnailRequestPending(false), |
32 mThumbnailRequestPending(false), |
34 mThumbnailRequestIndex(-1), |
33 mThumbnailRequestIndex(-1), |
35 mThumbnailRequestID(-1), |
34 mThumbnailRequestID(-1), |
36 mThumbnailsize(ThumbnailManager::ThumbnailMedium), |
35 mThumbnailsize(ThumbnailManager::ThumbnailMedium), |
37 mMDSLoadInProgress(false), |
36 mMDSLoadInProgress(false), |
38 mMode(0) |
37 mMode(0), |
|
38 mNoIcon(QIcon(QPixmap(":/icons/noIcon.png"))) |
39 { |
39 { |
40 // TX_ENTRY |
40 // TX_ENTRY |
41 Q_UNUSED(parent); |
41 Q_UNUSED(parent); |
42 |
42 |
43 mWrapper->setThumbnailSize( mThumbnailsize ); |
43 mWrapper->setThumbnailSize( mThumbnailsize ); |
74 } |
74 } |
75 } |
75 } |
76 |
76 |
77 void MyDataProvider::doRequestData(QList<int> list, bool silent) |
77 void MyDataProvider::doRequestData(QList<int> list, bool silent) |
78 { |
78 { |
79 TX_ENTRY |
79 // TX_ENTRY |
80 Q_UNUSED(silent); |
80 Q_UNUSED(silent); |
81 QString items = "Requested items:"; |
81 // QString items = "Requested items:"; |
82 int i = 0; |
82 int i = 0; |
|
83 |
83 for (int idx=0; idx<list.count(); idx++){ |
84 for (int idx=0; idx<list.count(); idx++){ |
84 i = list[idx]; |
85 i = list[idx]; |
85 if (containsRole(i, KItemIdRole) ) { |
86 if (containsRole(i, KItemIdRole) ) { |
86 items += QString("%0 ").arg(i); |
87 // items += QString("%0 ").arg(i); |
87 mWaitingThumbnails.append(i); |
88 mWaitingThumbnails.append(i); |
88 } |
89 } |
89 } |
90 } |
90 TX_LOG_ARGS(items); |
91 // TX_LOG_ARGS(items); |
|
92 TX_LOG_ARGS( QString("[TEST] Requested items: %0-%1").arg(list[0]).arg(list[list.count()-1]) ); |
91 getNextThumbnail(); |
93 getNextThumbnail(); |
92 TX_EXIT |
94 // TX_EXIT |
93 } |
95 } |
94 |
96 |
95 void MyDataProvider::getNextThumbnail() |
97 void MyDataProvider::getNextThumbnail() |
96 { |
98 { |
97 // TX_ENTRY |
99 // TX_ENTRY |
98 if ( !mThumbnailRequestPending && mWaitingThumbnails.count()){ |
100 if ( !mThumbnailRequestPending && mWaitingThumbnails.count()){ |
99 int i = mWaitingThumbnails.takeFirst(); |
101 int i = mWaitingThumbnails.takeFirst(); |
100 if (i >=0 && i < count() && containsRole(i, KItemIdRole)) { |
102 if (i >=0 && i < count() && containsRole(i, KItemIdRole)) { |
101 int id = (data(i, KItemIdRole)).toInt(); |
103 int id = (data(i, KItemIdRole)).toInt(); |
102 unsigned long int uId = (unsigned long int)id; |
104 unsigned long int uId = (unsigned long int)id; |
103 TX_LOG_ARGS(QString("getThumbnail for index:%0 uID:%1").arg(i).arg(uId)); |
105 TX_LOG_ARGS(QString("getThumbnail for index:%0 uID:%1").arg(i).arg(uId)); |
104 void *clientData = reinterpret_cast<void *>(i); |
106 void *clientData = reinterpret_cast<void *>(i); |
105 mThumbnailRequestID = mWrapper->getThumbnail(uId, clientData, KThumbnailsPriority); |
107 mThumbnailRequestID = mWrapper->getThumbnail(uId, clientData, KThumbnailsPriority); |
106 mThumbnailRequestIndex = i; |
108 mThumbnailRequestIndex = i; |
107 mThumbnailRequestPending = true; |
109 mThumbnailRequestPending = true; |
|
110 } else { |
|
111 updateIcon(i, mNoIcon, true); |
|
112 getNextThumbnail(); |
108 } |
113 } |
109 } |
114 } |
110 // TX_EXIT |
115 // TX_EXIT |
111 } |
116 } |
112 |
117 |
138 void MyDataProvider::doReleaseData(QList<int> list, bool silent) |
143 void MyDataProvider::doReleaseData(QList<int> list, bool silent) |
139 { |
144 { |
140 TX_ENTRY |
145 TX_ENTRY |
141 Q_UNUSED(silent); |
146 Q_UNUSED(silent); |
142 int i = 0; |
147 int i = 0; |
143 QString items = "Released items:"; |
148 // QString items = "Released items:"; |
144 for (int idx=0;idx<list.count(); idx++){ |
149 for (int idx=0;idx<list.count(); idx++){ |
145 i = list[idx]; |
150 i = list[idx]; |
146 if (mThumbnailRequestPending && mThumbnailRequestIndex==i ){ |
151 if (mThumbnailRequestPending && mThumbnailRequestIndex==i ){ |
147 TX_LOG_ARGS( QString("Cancel also thumbnail request for item %0").arg(i)); |
152 TX_LOG_ARGS( QString("Cancel also thumbnail request for item %0").arg(i)); |
148 mWrapper->cancelRequest(mThumbnailRequestID); |
153 mWrapper->cancelRequest(mThumbnailRequestID); |
149 mThumbnailRequestIndex = -1; |
154 mThumbnailRequestIndex = -1; |
150 mThumbnailRequestID = -1; |
155 mThumbnailRequestID = -1; |
151 mThumbnailRequestPending = false; |
156 mThumbnailRequestPending = false; |
152 } |
157 } |
153 items += QString("%0 ").arg(i); |
158 // items += QString("%0 ").arg(i); |
154 mWaitingThumbnails.removeAll(i); |
159 mWaitingThumbnails.removeAll(i); |
155 releasePixmap(i); |
160 releasePixmap(i); |
156 } |
161 } |
157 TX_LOG_ARGS(items); |
162 // TX_LOG_ARGS(items); |
158 |
163 |
159 getNextThumbnail(); |
164 getNextThumbnail(); |
160 TX_EXIT |
165 TX_EXIT |
161 } |
166 } |
162 |
167 |
242 mScheduler->Start(); |
247 mScheduler->Start(); |
243 CleanupStack::PopAndDestroy( 1 ); |
248 CleanupStack::PopAndDestroy( 1 ); |
244 delete session; |
249 delete session; |
245 ); |
250 ); |
246 |
251 |
247 |
252 if ( count() == 0){ //add 2000 items if no media data avilable |
|
253 for(int i = 0; i < 2000 ; i++){ |
|
254 QList< QPair< QVariant, int > > list; |
|
255 QString s = QString("ITEM%1").arg(i); |
|
256 if (i%2){ |
|
257 s = s.toLower(); |
|
258 } |
|
259 list.append( QPair< QVariant, int >(s, Qt::DisplayRole) ); |
|
260 list.append( QPair< QVariant, int >(QVariant(i), Qt::UserRole+2) ); |
|
261 newItem(&list); |
|
262 newItem(); |
|
263 } |
|
264 } |
248 TX_EXIT |
265 TX_EXIT |
249 } |
266 } |
250 void MyDataProvider::testRemoveItem(int pos) |
267 void MyDataProvider::testRemoveItem(int pos) |
251 { |
268 { |
252 TX_ENTRY |
269 TX_ENTRY |