diff options
author | Marko Minkkinen <marko.minkkinen@digia.com> | 2010-03-25 18:49:21 +0200 |
---|---|---|
committer | Don Sanders <don.sanders@nokia.com> | 2010-03-29 16:29:02 +1000 |
commit | 89c0c2ce7b8b5331c5223ec5d4e4357cef55cdd7 (patch) | |
tree | 5278e71e896fcce07a4352be74f27dc98bfc95e8 /src/messaging/qmessagestore_maemo.cpp | |
parent | 5ea7e184fb0472332cae9f05cb9d86e21adf02df (diff) |
Latest fixes + first working support library for auto tests
Fixes: MOBILITY-688
Synchronous query messages function not implemented
Diffstat (limited to 'src/messaging/qmessagestore_maemo.cpp')
-rw-r--r-- | src/messaging/qmessagestore_maemo.cpp | 63 |
1 files changed, 46 insertions, 17 deletions
diff --git a/src/messaging/qmessagestore_maemo.cpp b/src/messaging/qmessagestore_maemo.cpp index ca507c6c51..0fa18abb16 100644 --- a/src/messaging/qmessagestore_maemo.cpp +++ b/src/messaging/qmessagestore_maemo.cpp @@ -127,22 +127,40 @@ QMessageManager::Error QMessageStore::error() const QMessageIdList QMessageStore::queryMessages(const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const { - Q_UNUSED(filter) - Q_UNUSED(sortOrder) - Q_UNUSED(limit) - Q_UNUSED(offset) - return QMessageIdList(); // stub + QMessageIdList messageIds; + + bool isFiltered = false; + bool isSorted = false; + messageIds = ModestEngine::instance()->queryMessagesSync(filter, sortOrder, limit, offset, + isFiltered, isSorted); + if (!isFiltered) { + MessagingHelper::filterMessages(messageIds, filter); + } + if (!isSorted) { + MessagingHelper::orderMessages(messageIds, sortOrder); + } + MessagingHelper::applyOffsetAndLimitToMessageIdList(messageIds, limit, offset); + + return messageIds; } QMessageIdList QMessageStore::queryMessages(const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const { - Q_UNUSED(filter) - Q_UNUSED(sortOrder) - Q_UNUSED(body) - Q_UNUSED(matchFlags) - Q_UNUSED(limit) - Q_UNUSED(offset) - return QMessageIdList(); // stub + QMessageIdList messageIds; + + bool isFiltered = false; + bool isSorted = false; + messageIds = ModestEngine::instance()->queryMessagesSync(filter, body, matchFlags, sortOrder, limit, offset, + isFiltered, isSorted); + if (!isFiltered) { + MessagingHelper::filterMessages(messageIds, filter); + } + if (!isSorted) { + MessagingHelper::orderMessages(messageIds, sortOrder); + } + MessagingHelper::applyOffsetAndLimitToMessageIdList(messageIds, limit, offset); + + return messageIds; } QMessageFolderIdList QMessageStore::queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder, uint limit, uint offset) const @@ -187,8 +205,11 @@ QMessageAccountIdList QMessageStore::queryAccounts(const QMessageAccountFilter & int QMessageStore::countMessages(const QMessageFilter& filter) const { - Q_UNUSED(filter) - return 0; // stub + int count = 0; + + count += ModestEngine::instance()->countMessagesSync(filter); + + return count; } int QMessageStore::countFolders(const QMessageFolderFilter& filter) const @@ -220,9 +241,17 @@ bool QMessageStore::removeMessage(const QMessageId& id, QMessageManager::Removal bool QMessageStore::removeMessages(const QMessageFilter& filter, QMessageManager::RemovalOption option) { - Q_UNUSED(filter) - Q_UNUSED(option) - return true; // stub + QMessageIdList ids = queryMessages(filter, QMessageSortOrder(), 0, 0); + + for (int i=0; i < ids.count(); i++) { + if (ids[i].toString().startsWith("MO_")) { + if (!ModestEngine::instance()->removeMessage(ids[i], option)) { + return false; + } + } + } + + return true; } bool QMessageStore::addMessage(QMessage *m) |