128 loop.quit(); |
139 loop.quit(); |
129 } |
140 } |
130 |
141 |
131 QMessageAccountIdList QMessageStorePrivate::queryAccounts(const QMessageAccountFilter &filter, const QMessageAccountSortOrder &sortOrder, uint limit, uint offset) const |
142 QMessageAccountIdList QMessageStorePrivate::queryAccounts(const QMessageAccountFilter &filter, const QMessageAccountSortOrder &sortOrder, uint limit, uint offset) const |
132 { |
143 { |
133 return _mtmEngine->queryAccounts(filter, sortOrder, limit, offset); |
144 QMessageAccountIdList idList; |
|
145 |
|
146 idList << _mtmEngine->queryAccounts(filter, sortOrder, 0, 0); |
|
147 |
|
148 #ifdef FREESTYLEMAILUSED |
|
149 _fsEngine->setMtmAccountIdList(idList); |
|
150 idList << _fsEngine->queryAccounts(filter, sortOrder, 0, 0); |
|
151 #endif |
|
152 |
|
153 MessagingHelper::orderAccounts(idList, sortOrder); |
|
154 |
|
155 MessagingHelper::applyOffsetAndLimitToAccountIdList(idList, limit, offset); |
|
156 |
|
157 return idList; |
134 } |
158 } |
135 |
159 |
136 int QMessageStorePrivate::countAccounts(const QMessageAccountFilter &filter) const |
160 int QMessageStorePrivate::countAccounts(const QMessageAccountFilter &filter) const |
137 { |
161 { |
138 return _mtmEngine->countAccounts(filter); |
162 int count = 0; |
|
163 #ifdef FREESTYLEMAILUSED |
|
164 count += _fsEngine->countAccounts(filter); |
|
165 #endif |
|
166 count += _mtmEngine->countAccounts(filter); |
|
167 return count; |
139 } |
168 } |
140 |
169 |
141 QMessageFolderIdList QMessageStorePrivate::queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder, uint limit, uint offset) const |
170 QMessageFolderIdList QMessageStorePrivate::queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder, uint limit, uint offset) const |
142 { |
171 { |
143 return _mtmEngine->queryFolders(filter, sortOrder, limit, offset); |
172 QMessageFolderIdList idList; |
|
173 #ifdef FREESTYLEMAILUSED |
|
174 idList << _fsEngine->queryFolders(filter, sortOrder, 0, 0); |
|
175 #endif |
|
176 idList << _mtmEngine->queryFolders(filter, sortOrder, 0, 0); |
|
177 |
|
178 MessagingHelper::orderFolders(idList, sortOrder); |
|
179 |
|
180 MessagingHelper::applyOffsetAndLimitToFolderIdList(idList, limit, offset); |
|
181 |
|
182 return idList; |
144 } |
183 } |
145 |
184 |
146 int QMessageStorePrivate::countFolders(const QMessageFolderFilter& filter) const |
185 int QMessageStorePrivate::countFolders(const QMessageFolderFilter& filter) const |
147 { |
186 { |
148 return _mtmEngine->countFolders(filter); |
187 int count = 0; |
|
188 #ifdef FREESTYLEMAILUSED |
|
189 count += _fsEngine->countFolders(filter); |
|
190 #endif |
|
191 count += _mtmEngine->countFolders(filter); |
|
192 return count; |
149 } |
193 } |
150 |
194 |
151 QMessageFolder QMessageStorePrivate::folder(const QMessageFolderId& id) const |
195 QMessageFolder QMessageStorePrivate::folder(const QMessageFolderId& id) const |
152 { |
196 { |
153 return _mtmEngine->folder(id); |
197 switch (idType(id)) { |
|
198 case EngineTypeFreestyle: |
|
199 #ifdef FREESTYLEMAILUSED |
|
200 return _fsEngine->folder(id); |
|
201 #else |
|
202 return QMessageFolder(); |
|
203 #endif |
|
204 break; |
|
205 case EngineTypeMTM: |
|
206 default: |
|
207 return _mtmEngine->folder(id); |
|
208 break; |
|
209 } |
154 } |
210 } |
155 |
211 |
156 |
212 |
157 bool QMessageStorePrivate::addMessage(QMessage *m) |
213 bool QMessageStorePrivate::addMessage(QMessage *m) |
158 { |
214 { |
159 return _mtmEngine->addMessage(m); |
215 switch (idType(m->parentAccountId())) { |
|
216 case EngineTypeFreestyle: |
|
217 #ifdef FREESTYLEMAILUSED |
|
218 return _fsEngine->addMessage(m); |
|
219 #else |
|
220 return false; |
|
221 #endif |
|
222 break; |
|
223 case EngineTypeMTM: |
|
224 default: |
|
225 return _mtmEngine->addMessage(m); |
|
226 break; |
|
227 } |
160 } |
228 } |
161 |
229 |
162 bool QMessageStorePrivate::updateMessage(QMessage *m) |
230 bool QMessageStorePrivate::updateMessage(QMessage *m) |
163 { |
231 { |
164 return _mtmEngine->updateMessage(m); |
232 switch (idType(m->id())) { |
|
233 case EngineTypeFreestyle: |
|
234 #ifdef FREESTYLEMAILUSED |
|
235 return _fsEngine->updateMessage(m); |
|
236 #else |
|
237 return false; |
|
238 #endif |
|
239 break; |
|
240 case EngineTypeMTM: |
|
241 default: |
|
242 return _mtmEngine->updateMessage(m); |
|
243 break; |
|
244 } |
165 } |
245 } |
166 |
246 |
167 bool QMessageStorePrivate::removeMessage(const QMessageId &id, QMessageManager::RemovalOption option) |
247 bool QMessageStorePrivate::removeMessage(const QMessageId &id, QMessageManager::RemovalOption option) |
168 { |
248 { |
169 return _mtmEngine->removeMessage(id, option); |
249 switch (idType(id)) { |
|
250 case EngineTypeFreestyle: |
|
251 #ifdef FREESTYLEMAILUSED |
|
252 return _fsEngine->removeMessage(id, option); |
|
253 #else |
|
254 return false; |
|
255 #endif |
|
256 break; |
|
257 case EngineTypeMTM: |
|
258 default: |
|
259 return _mtmEngine->removeMessage(id, option); |
|
260 break; |
|
261 } |
170 } |
262 } |
171 |
263 |
172 bool QMessageStorePrivate::removeMessages(const QMessageFilter &filter, QMessageManager::RemovalOption option) |
264 bool QMessageStorePrivate::removeMessages(const QMessageFilter &filter, QMessageManager::RemovalOption option) |
173 { |
265 { |
174 bool retVal = true; |
266 bool retVal = true; |
180 QObject::connect(&service, SIGNAL(messagesFound(const QMessageIdList&)), &loop, SLOT(quit())); |
272 QObject::connect(&service, SIGNAL(messagesFound(const QMessageIdList&)), &loop, SLOT(quit())); |
181 QObject::connect(&service, SIGNAL(stateChanged(QMessageService::State)), this, SLOT(stateChanged(QMessageService::State))); |
273 QObject::connect(&service, SIGNAL(stateChanged(QMessageService::State)), this, SLOT(stateChanged(QMessageService::State))); |
182 loop.exec(); |
274 loop.exec(); |
183 ids = _ids; |
275 ids = _ids; |
184 _ids.clear(); |
276 _ids.clear(); |
|
277 |
185 for (int i=0; i < ids.count(); i++) { |
278 for (int i=0; i < ids.count(); i++) { |
186 if (!_mtmEngine->removeMessage(ids[i], option)) { |
279 switch (idType(ids[i])) { |
187 retVal = false; |
280 case EngineTypeFreestyle: |
|
281 #ifdef FREESTYLEMAILUSED |
|
282 if (!_fsEngine->removeMessage(ids[i], option)) { |
|
283 retVal = false; |
|
284 } |
|
285 #else |
|
286 return false; |
|
287 #endif |
|
288 break; |
|
289 case EngineTypeMTM: |
|
290 if (!_mtmEngine->removeMessage(ids[i], option)) { |
|
291 retVal = false; |
|
292 } |
|
293 break; |
|
294 default: |
|
295 return false; |
188 } |
296 } |
189 } |
297 } |
190 } else { |
298 } else { |
191 retVal = false; |
299 retVal = false; |
192 } |
300 } |
194 return retVal; |
302 return retVal; |
195 } |
303 } |
196 |
304 |
197 QMessage QMessageStorePrivate::message(const QMessageId& id) const |
305 QMessage QMessageStorePrivate::message(const QMessageId& id) const |
198 { |
306 { |
199 return _mtmEngine->message(id); |
307 switch (idType(id)) { |
|
308 case EngineTypeFreestyle: |
|
309 #ifdef FREESTYLEMAILUSED |
|
310 return _fsEngine->message(id); |
|
311 #else |
|
312 return QMessage(); |
|
313 #endif |
|
314 break; |
|
315 case EngineTypeMTM: |
|
316 default: |
|
317 return _mtmEngine->message(id); |
|
318 break; |
|
319 } |
200 } |
320 } |
201 |
321 |
202 QMessageAccount QMessageStorePrivate::account(const QMessageAccountId &id) const |
322 QMessageAccount QMessageStorePrivate::account(const QMessageAccountId &id) const |
203 { |
323 { |
204 return _mtmEngine->account(id); |
324 switch (idType(id)) { |
|
325 case EngineTypeFreestyle: |
|
326 #ifdef FREESTYLEMAILUSED |
|
327 return _fsEngine->account(id); |
|
328 #else |
|
329 return QMessageAccount(); |
|
330 #endif |
|
331 break; |
|
332 case EngineTypeMTM: |
|
333 default: |
|
334 return _mtmEngine->account(id); |
|
335 break; |
|
336 } |
205 } |
337 } |
206 |
338 |
207 QMessageManager::NotificationFilterId QMessageStorePrivate::registerNotificationFilter(const QMessageFilter &filter) |
339 QMessageManager::NotificationFilterId QMessageStorePrivate::registerNotificationFilter(const QMessageFilter &filter) |
208 { |
340 { |
209 return _mtmEngine->registerNotificationFilter(*this, filter); |
341 QMessageManager::NotificationFilterId id = _mtmEngine->registerNotificationFilter(*this, filter); |
|
342 #ifdef FREESTYLEMAILUSED |
|
343 return _fsEngine->registerNotificationFilter(*this, filter, id); |
|
344 #else |
|
345 return id; |
|
346 #endif |
210 } |
347 } |
211 |
348 |
212 void QMessageStorePrivate::unregisterNotificationFilter(QMessageManager::NotificationFilterId notificationFilterId) |
349 void QMessageStorePrivate::unregisterNotificationFilter(QMessageManager::NotificationFilterId notificationFilterId) |
213 { |
350 { |
214 _mtmEngine->unregisterNotificationFilter(notificationFilterId); |
351 #ifdef FREESTYLEMAILUSED |
|
352 _fsEngine->unregisterNotificationFilter(notificationFilterId); |
|
353 #endif |
|
354 _mtmEngine->unregisterNotificationFilter(notificationFilterId); |
|
355 |
215 } |
356 } |
216 |
357 |
217 void QMessageStorePrivate::messageNotification(QMessageStorePrivate::NotificationType type, const QMessageId& id, |
358 void QMessageStorePrivate::messageNotification(QMessageStorePrivate::NotificationType type, const QMessageId& id, |
218 const QMessageManager::NotificationFilterIdSet &matchingFilters) |
359 const QMessageManager::NotificationFilterIdSet &matchingFilters) |
219 { |
360 { |
220 switch (type) { |
361 switch (type) { |
221 case Added: |
362 case Added: |
|
363 qDebug() << "messageAdded notification" << id.toString(); |
222 emit q_ptr->messageAdded(id, matchingFilters); |
364 emit q_ptr->messageAdded(id, matchingFilters); |
223 break; |
365 break; |
224 case Updated: |
366 case Updated: |
225 emit q_ptr->messageUpdated(id, matchingFilters); |
367 emit q_ptr->messageUpdated(id, matchingFilters); |
226 break; |
368 break; |