qtmobility/src/messaging/qmessagestore_maemo.cpp
changeset 5 453da2cfceef
parent 4 90517678cc4f
child 11 06b8e2af4411
equal deleted inserted replaced
4:90517678cc4f 5:453da2cfceef
   128 
   128 
   129 QMessageIdList QMessageStore::queryMessages(const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
   129 QMessageIdList QMessageStore::queryMessages(const QMessageFilter &filter, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
   130 {
   130 {
   131     QMessageIdList messageIds;
   131     QMessageIdList messageIds;
   132 
   132 
       
   133     QMessageFilter handledFilter = filter;
       
   134     MessagingHelper::handleNestedFiltersFromMessageFilter(handledFilter);
       
   135 
   133     bool isFiltered = false;
   136     bool isFiltered = false;
   134     bool isSorted = false;
   137     bool isSorted = false;
   135     
   138     
   136     messageIds = ModestEngine::instance()->queryMessagesSync(filter, sortOrder, limit, offset,
   139     messageIds = ModestEngine::instance()->queryMessagesSync(handledFilter, sortOrder, limit, offset,
   137                                                              isFiltered, isSorted);
   140                                                              isFiltered, isSorted);
   138     
   141     
   139     //    messageIds += d_ptr->p_ptr->el->filterAndOrderMessages(filter,sortOrder,QString(),QMessageDataComparator::MatchFlags());
   142     messageIds += EventLoggerEngine::instance()->filterAndOrderMessages(handledFilter,sortOrder,QString(),QMessageDataComparator::MatchFlags());
   140     messageIds += EventLoggerEngine::instance()->filterAndOrderMessages(filter,sortOrder,QString(),QMessageDataComparator::MatchFlags());
       
   141 
   143 
   142     if (!isFiltered) {
   144     if (!isFiltered) {
   143         MessagingHelper::filterMessages(messageIds, filter);
   145         MessagingHelper::filterMessages(messageIds, handledFilter);
   144     }
   146     }
   145     if (!isSorted) {
   147     if (!isSorted) {
   146         MessagingHelper::orderMessages(messageIds, sortOrder);
   148         MessagingHelper::orderMessages(messageIds, sortOrder);
   147     }
   149     }
   148     MessagingHelper::applyOffsetAndLimitToMessageIdList(messageIds, limit, offset);
   150     MessagingHelper::applyOffsetAndLimitToMessageIdList(messageIds, limit, offset);
   149 
   151 
       
   152     ModestEngine::instance()->clearHeaderCache();
       
   153 
   150     return messageIds;
   154     return messageIds;
   151 }
   155 }
   152 
   156 
   153 QMessageIdList QMessageStore::queryMessages(const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
   157 QMessageIdList QMessageStore::queryMessages(const QMessageFilter &filter, const QString &body, QMessageDataComparator::MatchFlags matchFlags, const QMessageSortOrder &sortOrder, uint limit, uint offset) const
   154 {
   158 {
   155     QMessageIdList messageIds;
   159     QMessageIdList messageIds;
       
   160 
       
   161     QMessageFilter handledFilter = filter;
       
   162     MessagingHelper::handleNestedFiltersFromMessageFilter(handledFilter);
   156 
   163 
   157     bool isFiltered = false;
   164     bool isFiltered = false;
   158     bool isSorted = false;
   165     bool isSorted = false;
   159     messageIds = ModestEngine::instance()->queryMessagesSync(filter, body, matchFlags, sortOrder, limit, offset,
   166     messageIds = ModestEngine::instance()->queryMessagesSync(handledFilter, body, matchFlags, sortOrder,
   160                                                              isFiltered, isSorted);
   167                                                              limit, offset, isFiltered, isSorted);
   161     //    messageIds +=d_ptr->p_ptr->el->filterAndOrderMessages(filter,sortOrder,body,matchFlags);
   168 
   162     messageIds +=EventLoggerEngine::instance()->filterAndOrderMessages(filter,sortOrder,body,matchFlags);
   169     messageIds +=EventLoggerEngine::instance()->filterAndOrderMessages(handledFilter,sortOrder,body,matchFlags);
   163 
   170 
   164     if (!isFiltered) {
   171     if (!isFiltered) {
   165         MessagingHelper::filterMessages(messageIds, filter);
   172         MessagingHelper::filterMessages(messageIds, handledFilter);
   166     }
   173     }
   167     if (!isSorted) {
   174     if (!isSorted) {
   168         MessagingHelper::orderMessages(messageIds, sortOrder);
   175         MessagingHelper::orderMessages(messageIds, sortOrder);
   169     }
   176     }
   170     MessagingHelper::applyOffsetAndLimitToMessageIdList(messageIds, limit, offset);
   177     MessagingHelper::applyOffsetAndLimitToMessageIdList(messageIds, limit, offset);
   171 
   178 
       
   179     ModestEngine::instance()->clearHeaderCache();
       
   180 
   172     return messageIds;
   181     return messageIds;
   173 }
   182 }
   174 
   183 
   175 QMessageFolderIdList QMessageStore::queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder, uint limit, uint offset) const
   184 QMessageFolderIdList QMessageStore::queryFolders(const QMessageFolderFilter &filter, const QMessageFolderSortOrder &sortOrder, uint limit, uint offset) const
   176 {
   185 {
   177     QMessageFolderIdList folderIds;
   186     QMessageFolderIdList folderIds;
       
   187 
       
   188     QMessageFolderFilter handledFilter = filter;
       
   189     MessagingHelper::handleNestedFiltersFromFolderFilter(handledFilter);
   178 
   190 
   179     bool isFiltered = false;
   191     bool isFiltered = false;
   180     bool isSorted = false;
   192     bool isSorted = false;
   181     folderIds = ModestEngine::instance()->queryFolders(filter, sortOrder, limit, offset, isFiltered, isSorted);
   193     folderIds = ModestEngine::instance()->queryFolders(handledFilter, sortOrder, limit, offset, isFiltered, isSorted);
   182     if (!isFiltered) {
   194     if (!isFiltered) {
   183         MessagingHelper::filterFolders(folderIds, filter);
   195         MessagingHelper::filterFolders(folderIds, filter);
   184     }
   196     }
   185     if (!isSorted) {
   197     if (!isSorted) {
   186         MessagingHelper::orderFolders(folderIds, sortOrder);
   198         MessagingHelper::orderFolders(folderIds, sortOrder);
   214 
   226 
   215 int QMessageStore::countMessages(const QMessageFilter& filter) const
   227 int QMessageStore::countMessages(const QMessageFilter& filter) const
   216 {
   228 {
   217     int count = 0;
   229     int count = 0;
   218 
   230 
   219     count += ModestEngine::instance()->countMessagesSync(filter);
   231     QMessageFilter handledFilter = filter;
       
   232     MessagingHelper::handleNestedFiltersFromMessageFilter(handledFilter);
       
   233 
       
   234     count += ModestEngine::instance()->countMessagesSync(handledFilter);
       
   235 
       
   236     ModestEngine::instance()->clearHeaderCache();
   220 
   237 
   221     return count;
   238     return count;
   222 }
   239 }
   223 
   240 
   224 int QMessageStore::countFolders(const QMessageFolderFilter& filter) const
   241 int QMessageStore::countFolders(const QMessageFolderFilter& filter) const