summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libraries/qmfclient/qmailmessagekey.cpp9
-rw-r--r--src/libraries/qmfclient/qmailmessagelistmodel.cpp4
-rw-r--r--src/libraries/qmfclient/qmailmessageset.cpp15
-rw-r--r--src/libraries/qmfclient/qmailmessagethreadedmodel.cpp14
-rw-r--r--src/libraries/qmfclient/qmailstore.cpp15
-rw-r--r--src/libraries/qmfclient/qmailstoreimplementation_p.cpp29
-rw-r--r--src/plugins/messageservices/imap/imapservice.cpp2
-rw-r--r--src/plugins/messageservices/imap/imapstrategy.cpp24
-rw-r--r--src/tools/messageserver/messageserver.cpp2
-rw-r--r--src/tools/messageserver/servicehandler.cpp35
-rw-r--r--src/tools/messageserver/servicehandler.h1
-rw-r--r--tests/tst_qmaildisconnected/tst_qmaildisconnected.cpp2
-rw-r--r--tests/tst_qmailserviceaction/tst_qmailserviceaction.cpp2
-rw-r--r--tests/tst_qmailstorekeys/tst_qmailstorekeys.cpp36
14 files changed, 112 insertions, 78 deletions
diff --git a/src/libraries/qmfclient/qmailmessagekey.cpp b/src/libraries/qmfclient/qmailmessagekey.cpp
index c7fa64d4..e144ae16 100644
--- a/src/libraries/qmfclient/qmailmessagekey.cpp
+++ b/src/libraries/qmfclient/qmailmessagekey.cpp
@@ -390,7 +390,8 @@ QMailMessageKey QMailMessageKey::id(const QMailMessageIdList &ids, QMailDataComp
if (ids.count() >= IdLookupThreshold) {
// If there are a large number of IDs, they will be inserted into a temporary table
// with a uniqueness constraint; ensure only unique values are supplied
- return QMailMessageKey(ids.toSet().toList(), Id, QMailKey::comparator(cmp));
+ const QSet<QMailMessageId> uniqueIds(ids.constBegin(), ids.constEnd());
+ return QMailMessageKey(uniqueIds.values(), Id, QMailKey::comparator(cmp));
}
#endif
@@ -670,7 +671,8 @@ QMailMessageKey QMailMessageKey::serverUid(const QStringList &uids, QMailDataCom
if (uids.count() >= IdLookupThreshold) {
// If there are a large number of UIDs, they will be inserted into a temporary table
// with a uniqueness constraint; ensure only unique values are supplied
- return QMailMessageKey(uids.toSet().toList(), ServerUid, QMailKey::comparator(cmp));
+ const QSet<QString> uniqueIds(uids.constBegin(), uids.constEnd());
+ return QMailMessageKey(uniqueIds.values(), ServerUid, QMailKey::comparator(cmp));
}
#endif
@@ -1001,7 +1003,8 @@ QMailMessageKey QMailMessageKey::copyServerUid(const QStringList &uids, QMailDat
if (uids.count() >= IdLookupThreshold) {
// If there are a large number of UIDs, they will be inserted into a temporary table
// with a uniqueness constraint; ensure only unique values are supplied
- return QMailMessageKey(uids.toSet().toList(), CopyServerUid, QMailKey::comparator(cmp));
+ const QSet<QString> uniqueIds(uids.constBegin(), uids.constEnd());
+ return QMailMessageKey(uniqueIds.values(), CopyServerUid, QMailKey::comparator(cmp));
}
#endif
diff --git a/src/libraries/qmfclient/qmailmessagelistmodel.cpp b/src/libraries/qmfclient/qmailmessagelistmodel.cpp
index 059b543b..fb7bd6d4 100644
--- a/src/libraries/qmfclient/qmailmessagelistmodel.cpp
+++ b/src/libraries/qmfclient/qmailmessagelistmodel.cpp
@@ -402,7 +402,9 @@ bool QMailMessageListModelPrivate::updateMessages(const QMailMessageIdList &ids)
QList<int> updateIndices;
// Find the updated positions for our messages
- QMailMessageKey idKey(QMailMessageKey::id((_idList.toSet() + ids.toSet()).toList()));
+ QSet<QMailMessageId> uniqueIds(_idList.constBegin(), _idList.constEnd());
+ uniqueIds.unite(QSet<QMailMessageId>(ids.constBegin(), ids.constEnd()));
+ QMailMessageKey idKey(QMailMessageKey::id(uniqueIds.values()));
QMailMessageIdList newIds(QMailStore::instance()->queryMessages(_key & idKey, _sortKey, _limit));
QMap<QMailMessageId, int> newPositions;
diff --git a/src/libraries/qmfclient/qmailmessageset.cpp b/src/libraries/qmfclient/qmailmessageset.cpp
index aa141d2e..25989dc4 100644
--- a/src/libraries/qmfclient/qmailmessageset.cpp
+++ b/src/libraries/qmfclient/qmailmessageset.cpp
@@ -958,7 +958,7 @@ void QMailFilterMessageSet::messagesAdded(const QMailMessageIdList &ids)
QMailMessageIdList matchingIds = QMailStore::instance()->queryMessages(key & idFilter);
if (!matchingIds.isEmpty()) {
// Our filtered message set has changed
- impl(this)->_messageIds.unite(QSet<QMailMessageId>::fromList(matchingIds));
+ impl(this)->_messageIds.unite(QSet<QMailMessageId>(matchingIds.constBegin(), matchingIds.constEnd()));
update(this);
}
}
@@ -969,7 +969,7 @@ void QMailFilterMessageSet::messagesRemoved(const QMailMessageIdList &ids)
{
QSet<QMailMessageId>& _messageIds = impl(this)->_messageIds;
if (!_messageIds.isEmpty()) {
- QSet<QMailMessageId> removedIds = QSet<QMailMessageId>::fromList(ids);
+ QSet<QMailMessageId> removedIds = QSet<QMailMessageId>(ids.constBegin(), ids.constEnd());
// See if any of these messages are in our set
removedIds.intersect(_messageIds);
@@ -986,11 +986,12 @@ void QMailFilterMessageSet::messagesUpdated(const QMailMessageIdList &ids)
QMailMessageKey key(messageKey());
if (!key.isNonMatching()) {
QSet<QMailMessageId>& _messageIds = impl(this)->_messageIds;
- QSet<QMailMessageId> updatedIds = QSet<QMailMessageId>::fromList(ids);
+ QSet<QMailMessageId> updatedIds = QSet<QMailMessageId>(ids.constBegin(), ids.constEnd());
// Find which of the updated messages should be in our set
QMailMessageKey idFilter(QMailMessageKey::id(ids));
- QSet<QMailMessageId> matchingIds = QSet<QMailMessageId>::fromList(QMailStore::instance()->queryMessages(key & idFilter));
+ const QMailMessageIdList filteredIds = QMailStore::instance()->queryMessages(key & idFilter);
+ QSet<QMailMessageId> matchingIds = QSet<QMailMessageId>(filteredIds.constBegin(), filteredIds.constEnd());
QSet<QMailMessageId> presentIds = updatedIds;
QSet<QMailMessageId> absentIds = updatedIds;
@@ -1037,7 +1038,8 @@ void QMailFilterMessageSet::folderContentsModified(const QMailFolderIdList &)
void QMailFilterMessageSet::resyncState()
{
if (impl(this)->_minimized) {
- impl(this)->_messageIds = QSet<QMailMessageId>::fromList(QMailStore::instance()->queryMessages(messageKey()));
+ const QMailMessageIdList ids = QMailStore::instance()->queryMessages(messageKey());
+ impl(this)->_messageIds = QSet<QMailMessageId>(ids.constBegin(), ids.constEnd());
} else {
impl(this)->_messageIds.clear();
}
@@ -1057,7 +1059,8 @@ void QMailFilterMessageSet::reset()
if (impl(this)->_minimized) {
disconnect(model(), SIGNAL(folderContentsModified(QMailFolderIdList)), this, SLOT(folderContentsModified(QMailFolderIdList)));
- impl(this)->_messageIds = QSet<QMailMessageId>::fromList(QMailStore::instance()->queryMessages(messageKey()));
+ const QMailMessageIdList ids = QMailStore::instance()->queryMessages(messageKey());
+ impl(this)->_messageIds = QSet<QMailMessageId>(ids.constBegin(), ids.constEnd());
connect(model(), SIGNAL(messagesAdded(QMailMessageIdList)), this, SLOT(messagesAdded(QMailMessageIdList)));
connect(model(), SIGNAL(messagesRemoved(QMailMessageIdList)), this, SLOT(messagesRemoved(QMailMessageIdList)));
diff --git a/src/libraries/qmfclient/qmailmessagethreadedmodel.cpp b/src/libraries/qmfclient/qmailmessagethreadedmodel.cpp
index 59c68f38..57f2235d 100644
--- a/src/libraries/qmfclient/qmailmessagethreadedmodel.cpp
+++ b/src/libraries/qmfclient/qmailmessagethreadedmodel.cpp
@@ -528,12 +528,13 @@ bool QMailMessageThreadedModelPrivate::processMessagesUpdated(const QMailMessage
bool QMailMessageThreadedModelPrivate::updateMessages(const QMailMessageIdList &ids)
{
- QSet<QMailMessageId> existingIds(_currentIds.toSet());
+ QSet<QMailMessageId> existingIds(_currentIds.constBegin(), _currentIds.constEnd());
+ existingIds.unite(QSet<QMailMessageId>(ids.constBegin(), ids.constEnd()));
- QMailMessageKey idKey(QMailMessageKey::id((existingIds + ids.toSet()).toList()));
+ QMailMessageKey idKey(QMailMessageKey::id(existingIds.values()));
QMailMessageIdList newIds(QMailStore::instance()->queryMessages(_key & idKey, _sortKey, _limit));
- QSet<QMailMessageId> currentIds(newIds.toSet());
+ QSet<QMailMessageId> currentIds(newIds.constBegin(), newIds.constEnd());
// Find which of the messages we must add and remove
QMailMessageIdList additionIds;
@@ -633,7 +634,10 @@ bool QMailMessageThreadedModelPrivate::updateMessages(const QMailMessageIdList &
removeMessages(temporaryRemovalIds, &readditionIds);
// Find the locations for the added and reinserted messages
- addMessages((additionIds.toSet() + temporaryRemovalIds.toSet() + readditionIds.toSet()).toList());
+ QSet<QMailMessageId> uniqueIds(additionIds.constBegin(), additionIds.constEnd());
+ uniqueIds.unite(QSet<QMailMessageId>(temporaryRemovalIds.constBegin(), temporaryRemovalIds.constEnd()));
+ uniqueIds.unite(QSet<QMailMessageId>(readditionIds.constBegin(), readditionIds.constEnd()));
+ addMessages(uniqueIds.values());
return true;
}
@@ -705,7 +709,7 @@ bool QMailMessageThreadedModelPrivate::removeMessages(const QMailMessageIdList &
}
if (readditions) {
- *readditions = childIds.toList();
+ *readditions = childIds.values();
}
return true;
diff --git a/src/libraries/qmfclient/qmailstore.cpp b/src/libraries/qmfclient/qmailstore.cpp
index c8f3499f..a3aebca6 100644
--- a/src/libraries/qmfclient/qmailstore.cpp
+++ b/src/libraries/qmfclient/qmailstore.cpp
@@ -1232,7 +1232,8 @@ void QMailStore::emitAccountNotification(ChangeType type, const QMailAccountIdLi
Q_ASSERT(!ids.contains(QMailAccountId()));
if (!ids.isEmpty()) {
// Ensure there are no duplicates in the list
- QMailAccountIdList idList(ids.toSet().toList());
+ const QSet<QMailAccountId> uids(ids.constBegin(), ids.constEnd());
+ QMailAccountIdList idList(uids.constBegin(), uids.constEnd());
d->notifyAccountsChange(type, idList);
@@ -1262,7 +1263,8 @@ void QMailStore::emitFolderNotification(ChangeType type, const QMailFolderIdList
Q_ASSERT(!ids.contains(QMailFolderId()));
if (!ids.isEmpty()) {
// Ensure there are no duplicates in the list
- QMailFolderIdList idList(ids.toSet().toList());
+ const QSet<QMailFolderId> uids(ids.constBegin(), ids.constEnd());
+ QMailFolderIdList idList(uids.constBegin(), uids.constEnd());
d->notifyFoldersChange(type, idList);
@@ -1292,7 +1294,8 @@ void QMailStore::emitThreadNotification(ChangeType type, const QMailThreadIdList
Q_ASSERT(!ids.contains(QMailThreadId()));
if (!ids.isEmpty()) {
// Ensure there are no duplicates in the list
- QMailThreadIdList idList(ids.toSet().toList());
+ const QSet<QMailThreadId> uids(ids.constBegin(), ids.constEnd());
+ QMailThreadIdList idList(uids.constBegin(), uids.constEnd());
d->notifyThreadsChange(type, idList);
@@ -1322,7 +1325,8 @@ void QMailStore::emitMessageNotification(ChangeType type, const QMailMessageIdLi
Q_ASSERT(!ids.contains(QMailMessageId()));
if (!ids.isEmpty()) {
// Ensure there are no duplicates in the list
- QMailMessageIdList idList(ids.toSet().toList());
+ const QSet<QMailMessageId> uids(ids.constBegin(), ids.constEnd());
+ QMailMessageIdList idList(uids.constBegin(), uids.constEnd());
d->notifyMessagesChange(type, idList);
@@ -1393,7 +1397,8 @@ void QMailStore::emitRemovalRecordNotification(ChangeType type, const QMailAccou
{
if (!ids.isEmpty()) {
// Ensure there are no duplicates in the list
- QMailAccountIdList idList(ids.toSet().toList());
+ const QSet<QMailAccountId> uids(ids.constBegin(), ids.constEnd());
+ QMailAccountIdList idList(uids.constBegin(), uids.constEnd());
d->notifyMessageRemovalRecordsChange(type, idList);
diff --git a/src/libraries/qmfclient/qmailstoreimplementation_p.cpp b/src/libraries/qmfclient/qmailstoreimplementation_p.cpp
index 8b2c1967..625e7fc1 100644
--- a/src/libraries/qmfclient/qmailstoreimplementation_p.cpp
+++ b/src/libraries/qmfclient/qmailstoreimplementation_p.cpp
@@ -143,11 +143,11 @@ void emitIpcUpdates(const QMailMessageIdList& ids, quint64 status, bool set, co
}
}
-template<typename IDSetType>
-void dispatchNotifications(IDSetType &ids, const QString &sig)
+template<typename IDType>
+void dispatchNotifications(QSet<IDType> &ids, const QString &sig)
{
if (!ids.isEmpty()) {
- emitIpcUpdates(ids.toList(), sig);
+ emitIpcUpdates(ids.values(), sig);
ids.clear();
}
}
@@ -167,7 +167,7 @@ void dispatchNotifications(MessagesPropertiesBuffer& data, const QString &sig)
{
if (!data.isEmpty()) {
foreach (const MessagesProperties& props, data) {
- emitIpcUpdates(props.second.toList(), props.first.first, props.first.second, sig);
+ emitIpcUpdates(props.second.values(), props.first.first, props.first.second, sig);
}
data.clear();
}
@@ -180,7 +180,8 @@ void dispatchNotifications(MessagesStatusBuffer& data, const QString &sig)
{
if (!data.isEmpty()) {
foreach (const MessagesStatus& status, data.keys()) {
- emitIpcUpdates(data[status].toList(), status.first, status.second, sig);
+ const QSet<QMailMessageId> ids = data[status];
+ emitIpcUpdates(ids.values(), status.first, status.second, sig);
}
data.clear();
}
@@ -396,7 +397,7 @@ void QMailStoreImplementationBase::notifyAccountsChange(QMailStore::ChangeType c
flushTimer.start(flushTimeout);
}
- QSet<QMailAccountId> idsSet = QSet<QMailAccountId>::fromList(ids);
+ QSet<QMailAccountId> idsSet = QSet<QMailAccountId>(ids.constBegin(), ids.constEnd());
switch (changeType)
{
case QMailStore::Added:
@@ -433,7 +434,7 @@ void QMailStoreImplementationBase::notifyMessagesChange(QMailStore::ChangeType c
flushTimer.start(flushTimeout);
}
- QSet<QMailMessageId> idsSet = QSet<QMailMessageId>::fromList(ids);
+ QSet<QMailMessageId> idsSet = QSet<QMailMessageId>(ids.constBegin(), ids.constEnd());
switch (changeType)
{
case QMailStore::Added:
@@ -499,7 +500,7 @@ void QMailStoreImplementationBase::notifyMessagesDataChange(const QMailMessageId
flushTimer.start(flushTimeout);
}
- MessagesProperties props(QPair<QMailMessageKey::Properties, QMailMessageMetaData>(properties, data), ids.toSet());
+ MessagesProperties props(QPair<QMailMessageKey::Properties, QMailMessageMetaData>(properties, data), QSet<QMailMessageId>(ids.constBegin(), ids.constEnd()));
messagesPropertiesBuffer.append(props);;
} else {
@@ -519,7 +520,7 @@ void QMailStoreImplementationBase::notifyMessagesDataChange(const QMailMessageId
}
MessagesStatus messageStatus(status, set);
- messagesStatusBuffer[messageStatus] += ids.toSet();
+ messagesStatusBuffer[messageStatus] += QSet<QMailMessageId>(ids.constBegin(), ids.constEnd());
} else {
emitIpcUpdates(ids, status, set, messageStatusUpdatedSig());
@@ -539,7 +540,7 @@ void QMailStoreImplementationBase::notifyThreadsChange(QMailStore::ChangeType ch
flushTimer.start(flushTimeout);
}
- QSet<QMailThreadId> idsSet = QSet<QMailThreadId>::fromList(ids);
+ QSet<QMailThreadId> idsSet = QSet<QMailThreadId>(ids.constBegin(), ids.constEnd());
switch (changeType)
{
case QMailStore::Added:
@@ -577,7 +578,7 @@ void QMailStoreImplementationBase::notifyFoldersChange(QMailStore::ChangeType ch
flushTimer.start(flushTimeout);
}
- QSet<QMailFolderId> idsSet = QSet<QMailFolderId>::fromList(ids);
+ QSet<QMailFolderId> idsSet = QSet<QMailFolderId>(ids.constBegin(), ids.constEnd());
switch (changeType)
{
case QMailStore::Added:
@@ -614,7 +615,7 @@ void QMailStoreImplementationBase::notifyMessageRemovalRecordsChange(QMailStore:
flushTimer.start(flushTimeout);
}
- QSet<QMailAccountId> idsSet = QSet<QMailAccountId>::fromList(ids);
+ QSet<QMailAccountId> idsSet = QSet<QMailAccountId>(ids.constBegin(), ids.constEnd());
switch (changeType)
{
case QMailStore::Added:
@@ -652,7 +653,7 @@ void QMailStoreImplementationBase::notifyTransmissionInProgress(const QMailAccou
bool QMailStoreImplementationBase::setRetrievalInProgress(const QMailAccountIdList& ids)
{
- QSet<QMailAccountId> idSet(ids.toSet());
+ QSet<QMailAccountId> idSet(ids.constBegin(), ids.constEnd());
if ((idSet != retrievalInProgressIds) || !retrievalSetInitialized) {
retrievalInProgressIds = idSet;
retrievalSetInitialized = true;
@@ -664,7 +665,7 @@ bool QMailStoreImplementationBase::setRetrievalInProgress(const QMailAccountIdLi
bool QMailStoreImplementationBase::setTransmissionInProgress(const QMailAccountIdList& ids)
{
- QSet<QMailAccountId> idSet(ids.toSet());
+ QSet<QMailAccountId> idSet(ids.constBegin(), ids.constEnd());
if ((idSet != transmissionInProgressIds) || !transmissionSetInitialized) {
transmissionInProgressIds = idSet;
transmissionSetInitialized = true;
diff --git a/src/plugins/messageservices/imap/imapservice.cpp b/src/plugins/messageservices/imap/imapservice.cpp
index eca22f75..7aecd14a 100644
--- a/src/plugins/messageservices/imap/imapservice.cpp
+++ b/src/plugins/messageservices/imap/imapservice.cpp
@@ -1205,7 +1205,7 @@ bool ImapService::Source::prepareMessages(const QList<QPair<QMailMessagePart::Lo
bool external(false);
// Are these messages being resolved for internal or external references?
- QMailMessageKey key(QMailMessageKey::id(referringIds.toList()));
+ QMailMessageKey key(QMailMessageKey::id(referringIds.values()));
QMailMessageKey::Properties props(QMailMessageKey::Id | QMailMessageKey::ParentAccountId | QMailMessageKey::Status);
foreach (const QMailMessageMetaData &metaData, QMailStore::instance()->messagesMetaData(key, props)) {
diff --git a/src/plugins/messageservices/imap/imapstrategy.cpp b/src/plugins/messageservices/imap/imapstrategy.cpp
index 916afdfd..0b3910f8 100644
--- a/src/plugins/messageservices/imap/imapstrategy.cpp
+++ b/src/plugins/messageservices/imap/imapstrategy.cpp
@@ -347,13 +347,15 @@ QSet<QMailFolderId> foldersApplicableTo(QMailMessageKey const& messagekey, QSet<
if (arg.op == QMailKey::Equal || arg.op == QMailKey::Includes) {
Q_ASSERT(arg.valueList.count() == 1);
Q_ASSERT(arg.valueList[0].canConvert<QMailFolderId>());
- included.unite(QMailStore::instance()->queryFolders(
- QMailFolderKey::ancestorFolderIds(arg.valueList[0].value<QMailFolderId>())).toSet());
+ const auto ancestorFolders = QMailStore::instance()->queryFolders(
+ QMailFolderKey::ancestorFolderIds(arg.valueList[0].value<QMailFolderId>()));
+ included.unite(QSet<QMailFolderId>(ancestorFolders.constBegin(), ancestorFolders.constEnd()));
} else if (arg.op == QMailKey::NotEqual || arg.op == QMailKey::Excludes) {
Q_ASSERT(arg.valueList.count() == 1);
Q_ASSERT(arg.valueList[0].canConvert<QMailFolderId>());
- excluded.unite(QMailStore::instance()->queryFolders(
- QMailFolderKey::ancestorFolderIds(arg.valueList[0].value<QMailFolderId>())).toSet());
+ const auto ancestorFolders = QMailStore::instance()->queryFolders(
+ QMailFolderKey::ancestorFolderIds(arg.valueList[0].value<QMailFolderId>()));
+ excluded.unite(QSet<QMailFolderId>(ancestorFolders.constBegin(), ancestorFolders.constEnd()));
} else {
Q_ASSERT(false);
}
@@ -363,13 +365,15 @@ QSet<QMailFolderId> foldersApplicableTo(QMailMessageKey const& messagekey, QSet<
if (arg.op == QMailKey::Equal || arg.op == QMailKey::Includes) {
Q_ASSERT(arg.valueList.count() == 1);
Q_ASSERT(arg.valueList[0].canConvert<QMailAccountId>());
- included.unite(QMailStore::instance()->queryFolders(
- QMailFolderKey::parentAccountId(arg.valueList[0].value<QMailAccountId>())).toSet());
+ const auto parentAccountFolders = QMailStore::instance()->queryFolders(
+ QMailFolderKey::parentAccountId(arg.valueList[0].value<QMailAccountId>()));
+ included.unite(QSet<QMailFolderId>(parentAccountFolders.constBegin(), parentAccountFolders.constEnd()));
} else if (arg.op == QMailKey::NotEqual || arg.op == QMailKey::Excludes) {
Q_ASSERT(arg.valueList.count() == 1);
Q_ASSERT(arg.valueList[0].canConvert<QMailAccountId>());
- excluded.unite(QMailStore::instance()->queryFolders(
- QMailFolderKey::parentAccountId(arg.valueList[0].value<QMailAccountId>())).toSet());
+ const auto parentAccountFolders = QMailStore::instance()->queryFolders(
+ QMailFolderKey::parentAccountId(arg.valueList[0].value<QMailAccountId>()));
+ excluded.unite(QSet<QMailFolderId>(parentAccountFolders.constBegin(), parentAccountFolders.constEnd()));
} else {
Q_ASSERT(false);
}
@@ -1954,9 +1958,9 @@ void ImapSearchMessageStrategy::folderListCompleted(ImapStrategyContextBase *con
_limit = -1;
_count = false;
} else {
- QSet<QMailFolderId> accountFolders(_mailboxList.toSet());
+ QSet<QMailFolderId> accountFolders(_mailboxList.constBegin(), _mailboxList.constEnd());
- QMailFolderIdList foldersToSearch(foldersApplicableTo(_searches.first().criteria, accountFolders).toList());
+ QMailFolderIdList foldersToSearch(foldersApplicableTo(_searches.first().criteria, accountFolders).values());
if (foldersToSearch.isEmpty()) {
ImapRetrieveFolderListStrategy::folderListCompleted(context);
diff --git a/src/tools/messageserver/messageserver.cpp b/src/tools/messageserver/messageserver.cpp
index b9cae752..17da8118 100644
--- a/src/tools/messageserver/messageserver.cpp
+++ b/src/tools/messageserver/messageserver.cpp
@@ -297,7 +297,7 @@ void MessageServer::retrievalCompleted(quint64 action)
if (!completionAttempted) {
// Complete the messages that we selected for immediate completion
completionAttempted = true;
- handler->retrieveMessages(action, completionList.toList(), QMailRetrievalAction::Content);
+ handler->retrieveMessages(action, completionList.values(), QMailRetrievalAction::Content);
return;
} else {
completionList.clear();
diff --git a/src/tools/messageserver/servicehandler.cpp b/src/tools/messageserver/servicehandler.cpp
index bee046d6..7d7b1d6e 100644
--- a/src/tools/messageserver/servicehandler.cpp
+++ b/src/tools/messageserver/servicehandler.cpp
@@ -987,6 +987,11 @@ QSet<QMailMessageService*> ServiceHandler::sourceServiceSet(const QSet<QMailAcco
return services;
}
+QSet<QMailMessageService*> ServiceHandler::sourceServiceSet(const QMailAccountIdList &ids) const
+{
+ return sourceServiceSet(QSet<QMailAccountId>(ids.constBegin(), ids.constEnd()));
+}
+
QSet<QMailMessageService*> ServiceHandler::sinkServiceSet(const QMailAccountId &id) const
{
QSet<QMailMessageService*> services;
@@ -1242,10 +1247,10 @@ void ServiceHandler::expireAction()
}
if (retrievalSetModified) {
- QMailStore::instance()->setRetrievalInProgress(_retrievalAccountIds.toList());
+ QMailStore::instance()->setRetrievalInProgress(QMailAccountIdList(_retrievalAccountIds.constBegin(), _retrievalAccountIds.constEnd()));
}
if (transmissionSetModified) {
- QMailStore::instance()->setTransmissionInProgress(_transmissionAccountIds.toList());
+ QMailStore::instance()->setTransmissionInProgress(QMailAccountIdList(_transmissionAccountIds.constBegin(), _transmissionAccountIds.constEnd()));
}
mActiveActions.erase(it);
@@ -1254,7 +1259,7 @@ void ServiceHandler::expireAction()
mActionExpiry.removeFirst();
// Restart the service(s) for each of these accounts
- QMailAccountIdList ids(serviceAccounts.toList());
+ QMailAccountIdList ids(serviceAccounts.constBegin(), serviceAccounts.constEnd());
deregisterAccountServices(ids, QMailServiceAction::Status::ErrTimeout, tr("Request is not progressing"));
registerAccountServices(ids);
@@ -1319,10 +1324,10 @@ void ServiceHandler::cancelTransfer(quint64 action)
}
if (retrievalSetModified) {
- QMailStore::instance()->setRetrievalInProgress(_retrievalAccountIds.toList());
+ QMailStore::instance()->setRetrievalInProgress(QMailAccountIdList(_retrievalAccountIds.constBegin(), _retrievalAccountIds.constEnd()));
}
if (transmissionSetModified) {
- QMailStore::instance()->setTransmissionInProgress(_transmissionAccountIds.toList());
+ QMailStore::instance()->setTransmissionInProgress(QMailAccountIdList(_transmissionAccountIds.constBegin(), _transmissionAccountIds.constEnd()));
}
//The ActionData might have already been deleted by actionCompleted, triggered by cancelOperation
@@ -1370,7 +1375,7 @@ void ServiceHandler::transmitMessages(quint64 action, const QMailAccountId &acco
// Find the accounts that own these messages
QMap<QMailAccountId, QList<QPair<QMailMessagePart::Location, QMailMessagePart::Location> > > unresolvedLists(messageResolvers(unresolvedMessages));
- sources = sourceServiceSet(unresolvedLists.keys().toSet());
+ sources = sourceServiceSet(unresolvedLists.keys());
// Emit no signal after completing preparation
enqueueRequest(action, serialize(unresolvedLists), sources, &ServiceHandler::dispatchPrepareMessages, 0, TransmitMessagesRequestType);
@@ -1406,7 +1411,7 @@ void ServiceHandler::transmitMessage(quint64 action, const QMailMessageId &messa
// Find the accounts that own these messages
QMap<QMailAccountId, QList<QPair<QMailMessagePart::Location, QMailMessagePart::Location> > > unresolvedLists(messageResolvers(unresolvedMessages));
- sources = sourceServiceSet(unresolvedLists.keys().toSet());
+ sources = sourceServiceSet(unresolvedLists.keys());
// Emit no signal after completing preparation
enqueueRequest(action, serialize(unresolvedLists), sources, &ServiceHandler::dispatchPrepareMessages, 0, TransmitMessagesRequestType);
@@ -1703,7 +1708,7 @@ void ServiceHandler::retrieveMessages(quint64 action, const QMailMessageIdList &
{
QMap<QMailAccountId, QMailMessageIdList> messageLists(accountMessages(messageIds));
- QSet<QMailMessageService*> sources(sourceServiceSet(messageLists.keys().toSet()));
+ QSet<QMailMessageService*> sources(sourceServiceSet(messageLists.keys()));
if (sources.isEmpty()) {
reportFailure(action, QMailServiceAction::Status::ErrNoConnection, tr("Unable to retrieve messages for unconfigured account"));
} else {
@@ -1740,7 +1745,7 @@ bool ServiceHandler::dispatchRetrieveMessages(quint64 action, const QByteArray &
}
}
- QMailStore::instance()->setRetrievalInProgress(_retrievalAccountIds.toList());
+ QMailStore::instance()->setRetrievalInProgress(QMailAccountIdList(_retrievalAccountIds.constBegin(), _retrievalAccountIds.constEnd()));
return true;
}
@@ -1976,7 +1981,7 @@ void ServiceHandler::onlineDeleteMessages(quint64 action, const QMailMessageIdLi
discardMessages(action, messageIds);
} else {
QMap<QMailAccountId, QMailMessageIdList> messageLists(accountMessages(messageIds));
- sources = sourceServiceSet(messageLists.keys().toSet());
+ sources = sourceServiceSet(messageLists.keys());
if (sources.isEmpty()) {
reportFailure(action, QMailServiceAction::Status::ErrNoConnection, tr("Unable to delete messages for unconfigured account"));
} else {
@@ -2132,7 +2137,7 @@ void ServiceHandler::onlineMoveMessages(quint64 action, const QMailMessageIdList
QSet<QMailMessageService*> sources;
QMap<QMailAccountId, QMailMessageIdList> messageLists(accountMessages(messageIds));
- sources = sourceServiceSet(messageLists.keys().toSet());
+ sources = sourceServiceSet(messageLists.keys());
if (sources.isEmpty()) {
reportFailure(action, QMailServiceAction::Status::ErrNoConnection, tr("Unable to move messages for unconfigured account"));
} else {
@@ -2173,7 +2178,7 @@ void ServiceHandler::onlineFlagMessagesAndMoveToStandardFolder(quint64 action, c
QSet<QMailMessageService*> sources;
QMap<QMailAccountId, QMailMessageIdList> messageLists(accountMessages(messageIds));
- sources = sourceServiceSet(messageLists.keys().toSet());
+ sources = sourceServiceSet(messageLists.keys());
if (sources.isEmpty()) {
reportFailure(action, QMailServiceAction::Status::ErrNoConnection, tr("Unable to flag messages for unconfigured account"));
} else {
@@ -2615,7 +2620,7 @@ void ServiceHandler::searchMessages(quint64 action, const QMailMessageKey& filte
{
if (spec == QMailSearchAction::Remote) {
// Find the accounts that we need to search within from the criteria
- QSet<QMailAccountId> searchAccountIds(accountsApplicableTo(filter, sourceMap.keys().toSet()));
+ QSet<QMailAccountId> searchAccountIds(accountsApplicableTo(filter, QSet<QMailAccountId>(sourceMap.keyBegin(), sourceMap.keyEnd())));
QSet<QMailMessageService*> sources(sourceServiceSet(searchAccountIds));
if (sources.isEmpty()) {
@@ -3198,7 +3203,7 @@ void ServiceHandler::setRetrievalInProgress(const QMailAccountId &accountId, boo
}
if (modified) {
- QMailStore::instance()->setRetrievalInProgress(_retrievalAccountIds.toList());
+ QMailStore::instance()->setRetrievalInProgress(QMailAccountIdList(_retrievalAccountIds.constBegin(), _retrievalAccountIds.constEnd()));
}
}
@@ -3215,7 +3220,7 @@ void ServiceHandler::setTransmissionInProgress(const QMailAccountId &accountId,
}
if (modified) {
- QMailStore::instance()->setTransmissionInProgress(_transmissionAccountIds.toList());
+ QMailStore::instance()->setTransmissionInProgress(QMailAccountIdList(_transmissionAccountIds.constBegin(), _transmissionAccountIds.constEnd()));
}
}
diff --git a/src/tools/messageserver/servicehandler.h b/src/tools/messageserver/servicehandler.h
index 789bd678..280363d3 100644
--- a/src/tools/messageserver/servicehandler.h
+++ b/src/tools/messageserver/servicehandler.h
@@ -229,6 +229,7 @@ private:
QSet<QMailMessageService*> sourceServiceSet(const QMailAccountId &id) const;
QSet<QMailMessageService*> sourceServiceSet(const QSet<QMailAccountId> &ids) const;
+ QSet<QMailMessageService*> sourceServiceSet(const QMailAccountIdList &ids) const;
QSet<QMailMessageService*> sinkServiceSet(const QMailAccountId &id) const;
QSet<QMailMessageService*> sinkServiceSet(const QSet<QMailAccountId> &ids) const;
diff --git a/tests/tst_qmaildisconnected/tst_qmaildisconnected.cpp b/tests/tst_qmaildisconnected/tst_qmaildisconnected.cpp
index bc6f10ed..c411cd5f 100644
--- a/tests/tst_qmaildisconnected/tst_qmaildisconnected.cpp
+++ b/tests/tst_qmaildisconnected/tst_qmaildisconnected.cpp
@@ -411,7 +411,7 @@ void tst_QMailDisconnected::test_qmaildisconnected()
QMailMessage dstMsg;
QMailDisconnected::copyPreviousFolder(QMailMessage(savedMessage2), &dstMsg);
- QMap<QMailFolderId, QMailMessageIdList> map = QMailDisconnected::restoreMap(allMessages.toList());
+ QMap<QMailFolderId, QMailMessageIdList> map = QMailDisconnected::restoreMap(allMessages.values());
QMailDisconnected::copyToFolder(QMailMessageIdList() << inboxMessage1, archivedId1);
QMailDisconnected::copyToStandardFolder(QMailMessageIdList() << inboxMessage1, QMailFolder::JunkFolder);
diff --git a/tests/tst_qmailserviceaction/tst_qmailserviceaction.cpp b/tests/tst_qmailserviceaction/tst_qmailserviceaction.cpp
index e206479f..7fb9ce65 100644
--- a/tests/tst_qmailserviceaction/tst_qmailserviceaction.cpp
+++ b/tests/tst_qmailserviceaction/tst_qmailserviceaction.cpp
@@ -412,7 +412,7 @@ void tst_QMailServiceAction::test_retrievalaction()
uint min = 10240u;
action.retrieveFolderList(accountId1, inboxId1);
action.retrieveMessageList(accountId2, inboxId2);
- action.retrieveMessages(allMessages.toList());
+ action.retrieveMessages(allMessages.values());
action.retrieveMessageRange(inboxMessage1, min);
action.exportUpdates(accountId1);
diff --git a/tests/tst_qmailstorekeys/tst_qmailstorekeys.cpp b/tests/tst_qmailstorekeys/tst_qmailstorekeys.cpp
index cd8c1709..5301b4c2 100644
--- a/tests/tst_qmailstorekeys/tst_qmailstorekeys.cpp
+++ b/tests/tst_qmailstorekeys/tst_qmailstorekeys.cpp
@@ -97,7 +97,8 @@ private:
// We only want to compare sets, disregarding ordering
const QSet<QMailAccountId> accountSet(const QMailAccountKey &key) const
{
- return QMailStore::instance()->queryAccounts(key).toSet();
+ const QMailAccountIdList &accounts(QMailStore::instance()->queryAccounts(key));
+ return QSet<QMailAccountId>(accounts.constBegin(), accounts.constEnd());
}
QSet<QMailAccountId> accountSet() const
@@ -107,7 +108,8 @@ private:
const QSet<QMailFolderId> folderSet(const QMailFolderKey &key) const
{
- return QMailStore::instance()->queryFolders(key).toSet();
+ const QMailFolderIdList &folders(QMailStore::instance()->queryFolders(key));
+ return QSet<QMailFolderId>(folders.constBegin(), folders.constEnd());
}
QSet<QMailFolderId> folderSet() const
@@ -117,7 +119,8 @@ private:
const QSet<QMailMessageId> messageSet(const QMailMessageKey &key) const
{
- return QMailStore::instance()->queryMessages(key).toSet();
+ const QMailMessageIdList &messages(QMailStore::instance()->queryMessages(key));
+ return QSet<QMailMessageId>(messages.constBegin(), messages.constEnd());
}
QSet<QMailMessageId> messageSet() const
@@ -570,8 +573,9 @@ void tst_QMailStoreKeys::accountId()
QCOMPARE(accountSet(~QMailAccountKey::id(QMailAccountId(), NotEqual)), noAccounts);
// List inclusion
- QCOMPARE(accountSet(QMailAccountKey::id(allAccounts.toList())), allAccounts);
- QCOMPARE(accountSet(~QMailAccountKey::id(allAccounts.toList())), noAccounts);
+ const QMailAccountIdList accounts(allAccounts.constBegin(), allAccounts.constEnd());
+ QCOMPARE(accountSet(QMailAccountKey::id(accounts)), allAccounts);
+ QCOMPARE(accountSet(~QMailAccountKey::id(accounts)), noAccounts);
QCOMPARE(accountSet(QMailAccountKey::id(QMailAccountIdList() << accountId1)), accountSet() << accountId1);
QCOMPARE(accountSet(~QMailAccountKey::id(QMailAccountIdList() << accountId1)), accountSet() << accountId2 << accountId3 << accountId4);
QCOMPARE(accountSet(QMailAccountKey::id(QMailAccountIdList() << accountId2)), accountSet() << accountId2);
@@ -580,8 +584,8 @@ void tst_QMailStoreKeys::accountId()
QCOMPARE(accountSet(~QMailAccountKey::id(QMailAccountIdList() << accountId1 << accountId2)), accountSet() << accountId3 << accountId4);
// List exclusion
- QCOMPARE(accountSet(QMailAccountKey::id(allAccounts.toList(), Excludes)), noAccounts);
- QCOMPARE(accountSet(~QMailAccountKey::id(allAccounts.toList(), Excludes)), allAccounts);
+ QCOMPARE(accountSet(QMailAccountKey::id(accounts, Excludes)), noAccounts);
+ QCOMPARE(accountSet(~QMailAccountKey::id(accounts, Excludes)), allAccounts);
QCOMPARE(accountSet(QMailAccountKey::id(QMailAccountIdList() << accountId1, Excludes)), accountSet() << accountId2 << accountId3 << accountId4);
QCOMPARE(accountSet(~QMailAccountKey::id(QMailAccountIdList() << accountId1, Excludes)), accountSet() << accountId1);
QCOMPARE(accountSet(QMailAccountKey::id(QMailAccountIdList() << accountId2, Excludes)), accountSet() << accountId1 << accountId3 << accountId4);
@@ -841,8 +845,9 @@ void tst_QMailStoreKeys::folderId()
QCOMPARE(folderSet(~QMailFolderKey::id(QMailFolderId(), NotEqual)), noFolders);
// List inclusion
- QCOMPARE(folderSet(QMailFolderKey::id(allFolders.toList())), allFolders);
- QCOMPARE(folderSet(~QMailFolderKey::id(allFolders.toList())), standardFolders);
+ const QMailFolderIdList folders(allFolders.constBegin(), allFolders.constEnd());
+ QCOMPARE(folderSet(QMailFolderKey::id(folders)), allFolders);
+ QCOMPARE(folderSet(~QMailFolderKey::id(folders)), standardFolders);
QCOMPARE(folderSet(QMailFolderKey::id(QMailFolderIdList() << inboxId1)), folderSet() << inboxId1);
QCOMPARE(folderSet(~QMailFolderKey::id(QMailFolderIdList() << inboxId1)), standardFolders + folderSet() << savedId1 << archivedId1 << inboxId2 << savedId2 << archivedId2);
QCOMPARE(folderSet(QMailFolderKey::id(QMailFolderIdList() << archivedId2)), folderSet() << archivedId2);
@@ -851,8 +856,8 @@ void tst_QMailStoreKeys::folderId()
QCOMPARE(folderSet(~QMailFolderKey::id(QMailFolderIdList() << inboxId1 << archivedId2)), standardFolders + folderSet() << savedId1 << archivedId1 << inboxId2 << savedId2);
// List exclusion
- QCOMPARE(folderSet(QMailFolderKey::id(allFolders.toList(), Excludes)), standardFolders);
- QCOMPARE(folderSet(~QMailFolderKey::id(allFolders.toList(), Excludes)), allFolders);
+ QCOMPARE(folderSet(QMailFolderKey::id(folders, Excludes)), standardFolders);
+ QCOMPARE(folderSet(~QMailFolderKey::id(folders, Excludes)), allFolders);
QCOMPARE(folderSet(QMailFolderKey::id(QMailFolderIdList() << inboxId1, Excludes)), standardFolders + folderSet() << savedId1 << archivedId1 << inboxId2 << savedId2 << archivedId2);
QCOMPARE(folderSet(~QMailFolderKey::id(QMailFolderIdList() << inboxId1, Excludes)), folderSet() << inboxId1);
QCOMPARE(folderSet(QMailFolderKey::id(QMailFolderIdList() << archivedId2, Excludes)), standardFolders + folderSet() << inboxId1 << savedId1 << archivedId1 << inboxId2 << savedId2);
@@ -1322,8 +1327,9 @@ void tst_QMailStoreKeys::messageId()
QCOMPARE(messageSet(~QMailMessageKey::id(QMailMessageId(), NotEqual)), noMessages);
// List inclusion
- QCOMPARE(messageSet(QMailMessageKey::id(allMessages.toList())), allMessages);
- QCOMPARE(messageSet(~QMailMessageKey::id(allMessages.toList())), noMessages);
+ const QMailMessageIdList messages(allMessages.constBegin(), allMessages.constEnd());
+ QCOMPARE(messageSet(QMailMessageKey::id(messages)), allMessages);
+ QCOMPARE(messageSet(~QMailMessageKey::id(messages)), noMessages);
QCOMPARE(messageSet(QMailMessageKey::id(QMailMessageIdList() << smsMessage)), messageSet() << smsMessage);
QCOMPARE(messageSet(~QMailMessageKey::id(QMailMessageIdList() << smsMessage)), allEmailMessages);
QCOMPARE(messageSet(QMailMessageKey::id(QMailMessageIdList() << inboxMessage1)), messageSet() << inboxMessage1);
@@ -1332,8 +1338,8 @@ void tst_QMailStoreKeys::messageId()
QCOMPARE(messageSet(~QMailMessageKey::id(QMailMessageIdList() << smsMessage << inboxMessage1)), messageSet() << archivedMessage1 << inboxMessage2 << savedMessage2);
// List Exclusion
- QCOMPARE(messageSet(QMailMessageKey::id(allMessages.toList(), Excludes)), noMessages);
- QCOMPARE(messageSet(~QMailMessageKey::id(allMessages.toList(), Excludes)), allMessages);
+ QCOMPARE(messageSet(QMailMessageKey::id(messages, Excludes)), noMessages);
+ QCOMPARE(messageSet(~QMailMessageKey::id(messages, Excludes)), allMessages);
QCOMPARE(messageSet(QMailMessageKey::id(QMailMessageIdList() << smsMessage, Excludes)), allEmailMessages);
QCOMPARE(messageSet(~QMailMessageKey::id(QMailMessageIdList() << smsMessage, Excludes)), messageSet() << smsMessage);
QCOMPARE(messageSet(QMailMessageKey::id(QMailMessageIdList() << inboxMessage1, Excludes)), messageSet() << smsMessage << archivedMessage1 << inboxMessage2 << savedMessage2);