From 766e702fff9335c715e122dbc5a8855b1e7f4415 Mon Sep 17 00:00:00 2001 From: Eric Springer Date: Tue, 19 Jan 2010 14:00:29 +1000 Subject: Use removeFirst() instead of takeFirst() when appropriate --- src/plugins/messageservices/imap/imapprotocol.cpp | 4 ++-- src/plugins/messageservices/imap/imapstrategy.cpp | 6 +++--- src/tools/messageserver/servicehandler.cpp | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/plugins/messageservices/imap/imapprotocol.cpp b/src/plugins/messageservices/imap/imapprotocol.cpp index d5ad96c4..a1fe945e 100644 --- a/src/plugins/messageservices/imap/imapprotocol.cpp +++ b/src/plugins/messageservices/imap/imapprotocol.cpp @@ -1089,7 +1089,7 @@ static QList > dataSequence(QListoperationCompleted(); @@ -707,7 +707,7 @@ void ImapPrepareMessagesStrategy::handleLogin(ImapStrategyContextBase *context) void ImapPrepareMessagesStrategy::handleGenUrlAuth(ImapStrategyContextBase *context) { // We're finished with the previous location - _locations.takeFirst(); + _locations.removeFirst(); nextMessageAction(context); } @@ -3154,7 +3154,7 @@ void ImapExternalizeMessagesStrategy::transition(ImapStrategyContextBase *contex void ImapExternalizeMessagesStrategy::handleGenUrlAuth(ImapStrategyContextBase *context) { // We're finished with the previous location - _urlIds.takeFirst(); + _urlIds.removeFirst(); resolveNextMessage(context); } diff --git a/src/tools/messageserver/servicehandler.cpp b/src/tools/messageserver/servicehandler.cpp index 78c49db0..54aad05c 100644 --- a/src/tools/messageserver/servicehandler.cpp +++ b/src/tools/messageserver/servicehandler.cpp @@ -827,7 +827,7 @@ void ServiceHandler::dispatchRequest() mServiceAction.remove(service); } - mRequests.takeFirst(); + mRequests.removeFirst(); } } @@ -2028,7 +2028,7 @@ void ServiceHandler::continueSearch() // There is remote searching in progress - wait for completion } else { // We're finished with this search - mSearches.takeFirst(); + mSearches.removeFirst(); if (!mSearches.isEmpty()) QTimer::singleShot(0, this, SLOT(continueSearch())); @@ -2053,7 +2053,7 @@ void ServiceHandler::finaliseSearch(quint64 action) // This search is now finished emit searchCompleted(currentSearch.action()); - mSearches.takeFirst(); + mSearches.removeFirst(); if (!mSearches.isEmpty()) QTimer::singleShot(0, this, SLOT(continueSearch())); -- cgit v1.2.3 From 347eab5aa0e44c7b7a642988abb6c2b2c4f93ac3 Mon Sep 17 00:00:00 2001 From: Eric Springer Date: Tue, 19 Jan 2010 14:07:04 +1000 Subject: Don't do a local search after doing a remote search --- src/tools/messageserver/servicehandler.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/tools/messageserver/servicehandler.cpp b/src/tools/messageserver/servicehandler.cpp index 54aad05c..1318278b 100644 --- a/src/tools/messageserver/servicehandler.cpp +++ b/src/tools/messageserver/servicehandler.cpp @@ -1731,13 +1731,6 @@ bool ServiceHandler::dispatchSearchMessages(quint64 action, const QByteArray &da } } - // Find the messages that match the filter criteria - QMailMessageIdList searchIds = QMailStore::instance()->queryMessages(filter, sort); - - // Schedule this search - mSearches.append(MessageSearch(action, searchIds, bodyText)); - QTimer::singleShot(0, this, SLOT(continueSearch())); - return true; } -- cgit v1.2.3 From 6e00eaa545fdc713da504b348703e0bf6fcf8f73 Mon Sep 17 00:00:00 2001 From: Eric Springer Date: Tue, 19 Jan 2010 14:09:56 +1000 Subject: Return true if at least one search request goes through --- src/tools/messageserver/servicehandler.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/tools/messageserver/servicehandler.cpp b/src/tools/messageserver/servicehandler.cpp index 1318278b..6112248c 100644 --- a/src/tools/messageserver/servicehandler.cpp +++ b/src/tools/messageserver/servicehandler.cpp @@ -1716,22 +1716,24 @@ bool ServiceHandler::dispatchSearchMessages(quint64 action, const QByteArray &da QMailMessageKey filter; QString bodyText; QMailMessageSortKey sort; + bool sentSearch = false; + deserialize(data, accountIds, filter, bodyText, sort); foreach (const QMailAccountId &accountId, accountIds) { if (QMailMessageSource *source = accountSource(accountId)) { - if (!source->searchMessages(filter, bodyText, sort)) { + if (source->searchMessages(filter, bodyText, sort)) { + sentSearch = true; //we've at least sent one + } else { qMailLog(Messaging) << "Unable to service request to search messages for account:" << accountId; - return false; } } else { reportFailure(action, QMailServiceAction::Status::ErrFrameworkFault, tr("Unable to locate source for account"), accountId); - return false; } } - return true; + return sentSearch; } void ServiceHandler::cancelSearch(quint64 action) -- cgit v1.2.3