diff options
author | Marko Minkkinen <marko.minkkinen@digia.com> | 2010-04-08 19:19:16 +0300 |
---|---|---|
committer | Don Sanders <don.sanders@nokia.com> | 2010-04-09 12:54:38 +1000 |
commit | 30bc1b9abbc30addfe75c66ac8e24d64a56ddbbc (patch) | |
tree | 3305ba002dde3540c26accc2f4ab6bf9a15aafbd /src/messaging/qmessagestore_maemo.cpp | |
parent | d16c3888d5c2e1bce02020ea890f5626f760a6c2 (diff) |
Nested filter support + couple of filtering fixes
Fixes: MOBILITY-789
Diffstat (limited to 'src/messaging/qmessagestore_maemo.cpp')
-rw-r--r-- | src/messaging/qmessagestore_maemo.cpp | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/src/messaging/qmessagestore_maemo.cpp b/src/messaging/qmessagestore_maemo.cpp index c411526d4d..3f8c72f1ad 100644 --- a/src/messaging/qmessagestore_maemo.cpp +++ b/src/messaging/qmessagestore_maemo.cpp @@ -130,17 +130,19 @@ QMessageIdList QMessageStore::queryMessages(const QMessageFilter &filter, const { QMessageIdList messageIds; + QMessageFilter handledFilter = filter; + MessagingHelper::handleNestedFiltersFromMessageFilter(handledFilter); + bool isFiltered = false; bool isSorted = false; - messageIds = ModestEngine::instance()->queryMessagesSync(filter, sortOrder, limit, offset, + messageIds = ModestEngine::instance()->queryMessagesSync(handledFilter, sortOrder, limit, offset, isFiltered, isSorted); - // messageIds += d_ptr->p_ptr->el->filterAndOrderMessages(filter,sortOrder,QString(),QMessageDataComparator::MatchFlags()); - messageIds += EventLoggerEngine::instance()->filterAndOrderMessages(filter,sortOrder,QString(),QMessageDataComparator::MatchFlags()); + messageIds += EventLoggerEngine::instance()->filterAndOrderMessages(handledFilter,sortOrder,QString(),QMessageDataComparator::MatchFlags()); if (!isFiltered) { - MessagingHelper::filterMessages(messageIds, filter); + MessagingHelper::filterMessages(messageIds, handledFilter); } if (!isSorted) { MessagingHelper::orderMessages(messageIds, sortOrder); @@ -156,15 +158,18 @@ QMessageIdList QMessageStore::queryMessages(const QMessageFilter &filter, const { QMessageIdList messageIds; + QMessageFilter handledFilter = filter; + MessagingHelper::handleNestedFiltersFromMessageFilter(handledFilter); + bool isFiltered = false; bool isSorted = false; - messageIds = ModestEngine::instance()->queryMessagesSync(filter, body, matchFlags, sortOrder, limit, offset, - isFiltered, isSorted); - // messageIds +=d_ptr->p_ptr->el->filterAndOrderMessages(filter,sortOrder,body,matchFlags); - messageIds +=EventLoggerEngine::instance()->filterAndOrderMessages(filter,sortOrder,body,matchFlags); + messageIds = ModestEngine::instance()->queryMessagesSync(handledFilter, body, matchFlags, sortOrder, + limit, offset, isFiltered, isSorted); + + messageIds +=EventLoggerEngine::instance()->filterAndOrderMessages(handledFilter,sortOrder,body,matchFlags); if (!isFiltered) { - MessagingHelper::filterMessages(messageIds, filter); + MessagingHelper::filterMessages(messageIds, handledFilter); } if (!isSorted) { MessagingHelper::orderMessages(messageIds, sortOrder); @@ -180,9 +185,12 @@ QMessageFolderIdList QMessageStore::queryFolders(const QMessageFolderFilter &fil { QMessageFolderIdList folderIds; + QMessageFolderFilter handledFilter = filter; + MessagingHelper::handleNestedFiltersFromFolderFilter(handledFilter); + bool isFiltered = false; bool isSorted = false; - folderIds = ModestEngine::instance()->queryFolders(filter, sortOrder, limit, offset, isFiltered, isSorted); + folderIds = ModestEngine::instance()->queryFolders(handledFilter, sortOrder, limit, offset, isFiltered, isSorted); if (!isFiltered) { MessagingHelper::filterFolders(folderIds, filter); } @@ -220,7 +228,10 @@ int QMessageStore::countMessages(const QMessageFilter& filter) const { int count = 0; - count += ModestEngine::instance()->countMessagesSync(filter); + QMessageFilter handledFilter = filter; + MessagingHelper::handleNestedFiltersFromMessageFilter(handledFilter); + + count += ModestEngine::instance()->countMessagesSync(handledFilter); ModestEngine::instance()->clearHeaderCache(); |