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); |