diff options
author | Eric Springer <eric.springer@nokia.com> | 2011-03-16 10:56:03 +1000 |
---|---|---|
committer | Eric Springer <eric.springer@nokia.com> | 2011-03-16 10:56:03 +1000 |
commit | 24cb8cdd0a79cd973349d31120a541308a8f49d1 (patch) | |
tree | 078918408e20d006c5e611f00267429d53b05f78 | |
parent | 41428cff8b5bd05aed511cd45937f290489e1a60 (diff) |
Chuck in unnamed namespace for external linkage
-rw-r--r-- | examples/qtmail/app/emailclient.cpp | 8 | ||||
-rw-r--r-- | src/libraries/qmfclient/qmailstore_p.cpp | 35 | ||||
-rw-r--r-- | src/libraries/qmfclient/qmailstore_p.h | 2 | ||||
-rw-r--r-- | src/plugins/messageservices/imap/imapstrategy.cpp | 4 |
4 files changed, 25 insertions, 24 deletions
diff --git a/examples/qtmail/app/emailclient.cpp b/examples/qtmail/app/emailclient.cpp index 1b394ec3..ea299590 100644 --- a/examples/qtmail/app/emailclient.cpp +++ b/examples/qtmail/app/emailclient.cpp @@ -2524,6 +2524,14 @@ void EmailClient::settings() void EmailClient::notificationStateChanged() { + QMailThreadKey key(QMailThreadKey::id(QMailThreadIdList() << QMailThreadId(1) << QMailThreadId(2) << QMailThreadId(3))); + + foreach(QMailThreadId id, QMailStore::instance()->queryThreads(key)) + { + qDebug() << "Found thread: " << id.toULongLong(); + } + + #ifndef QT_NO_SYSTEMTRAYICON if (!NotificationTray::isSystemTrayAvailable()) { QMessageBox::warning(this, tr("Unable to enable notification"), tr("System tray was undetected")); diff --git a/src/libraries/qmfclient/qmailstore_p.cpp b/src/libraries/qmfclient/qmailstore_p.cpp index f4400c59..62b4271a 100644 --- a/src/libraries/qmfclient/qmailstore_p.cpp +++ b/src/libraries/qmfclient/qmailstore_p.cpp @@ -422,7 +422,7 @@ static QMailStorePrivate::MessagePropertyMap messagePropertyMap() map.insert(QMailMessageKey::ContentIdentifier,"mailfile"); map.insert(QMailMessageKey::InResponseTo,"responseid"); map.insert(QMailMessageKey::ResponseType,"responsetype"); - map.insert(QMailMessageKey::Conversation,"id"); + map.insert(QMailMessageKey::Conversation,"parentthreadid"); map.insert(QMailMessageKey::CopyServerUid, "copyserveruid"); map.insert(QMailMessageKey::RestoreFolderId, "restorefolderid"); map.insert(QMailMessageKey::ListId, "listid"); @@ -1861,26 +1861,14 @@ QString whereClauseItem<QMailMessageKey>(const QMailMessageKey &, const QMailMes break; case QMailMessageKey::Conversation: - { - // This desperately needs to be simplified... - QString nestedAlias1(incrementAlias(alias)); - QString nestedAlias2(incrementAlias(nestedAlias1)); - - q << baseExpression(columnName, Includes, true); - q << "( SELECT " << qualifiedName("id", nestedAlias1) << " FROM mailmessages " << nestedAlias1 << " WHERE parentthreadid IN "; - q << "( SELECT DISTINCT " << qualifiedName("parentthreadid", nestedAlias2) << " FROM mailmessages " << nestedAlias2 << " WHERE "; - - if (a.valueList.first().canConvert<QMailMessageKey>()) { - QMailMessageKey messageKey = a.valueList.first().value<QMailMessageKey>(); - QString nestedAlias3(incrementAlias(nestedAlias2)); - - q << baseExpression(qualifiedName("id", nestedAlias2), Includes, true) << "( SELECT " << qualifiedName("id", nestedAlias3) << " FROM mailmessages " << nestedAlias3; - q << store.buildWhereClause(QMailStorePrivate::Key(messageKey, nestedAlias3)) << " )"; - } else { - q << columnExpression(qualifiedName("id", nestedAlias2), a.op, a.valueList); - } + if (a.valueList.first().canConvert<QMailMessageKey>()) { + QMailMessageKey messageKey = a.valueList.first().value<QMailMessageKey>(); + QString nestedAlias(incrementAlias(alias)); - q << " ) )"; + q << baseExpression(columnName, a.op, true) << "( SELECT " << qualifiedName("parentthreadid", nestedAlias) << " FROM mailmessages " << nestedAlias; + q << store.buildWhereClause(QMailStorePrivate::Key(messageKey, nestedAlias)) << ")"; + } else { + q << expression; } break; case QMailMessageKey::ServerUid: @@ -2738,7 +2726,7 @@ bool QMailStorePrivate::execute(QSqlQuery& query, bool batch) } #ifdef QMAILSTORE_LOG_SQL - qWarning() << "(" << pid << ")" << qPrintable(queryText(query)); + qDebug() << "(" << pid << ")" << qPrintable(queryText(query)); #endif if (!inTransaction) { @@ -3207,7 +3195,10 @@ QVariantList QMailStorePrivate::whereClauseValues(const Key& key) const } else if (key.isType<QMailAccountKey>()) { const QMailAccountKey &accountKey(key.key<QMailAccountKey>()); return ::whereClauseValues(accountKey); - } + } else if (key.isType<QMailThreadKey>()) { + const QMailThreadKey &threadKey(key.key<QMailThreadKey>()); + return ::whereClauseValues(threadKey); + } return QVariantList(); } diff --git a/src/libraries/qmfclient/qmailstore_p.h b/src/libraries/qmfclient/qmailstore_p.h index 351bf763..ed11d6da 100644 --- a/src/libraries/qmfclient/qmailstore_p.h +++ b/src/libraries/qmfclient/qmailstore_p.h @@ -57,7 +57,7 @@ #include <QSqlDatabase> #include <QCache> -//#define QMAILSTORE_LOG_SQL //define to enable SQL query logging +#define QMAILSTORE_LOG_SQL //define to enable SQL query logging //#define QMAILSTORE_USE_RTTI //define if RTTI is available to assist debugging #ifdef QMAILSTORE_USE_RTTI diff --git a/src/plugins/messageservices/imap/imapstrategy.cpp b/src/plugins/messageservices/imap/imapstrategy.cpp index df620954..7849eb8b 100644 --- a/src/plugins/messageservices/imap/imapstrategy.cpp +++ b/src/plugins/messageservices/imap/imapstrategy.cpp @@ -1342,11 +1342,13 @@ void ImapFetchSelectedMessagesStrategy::clearSelection() _retrievalSize.clear(); } -static bool operator==(const QMailMessagePartContainer::Location &a, +namespace { +bool operator==(const QMailMessagePartContainer::Location &a, const QMailMessagePartContainer::Location &b) { return a.toString(true) == b.toString(true); } +} void ImapFetchSelectedMessagesStrategy::metaDataAnalysis(ImapStrategyContextBase *context, const QMailMessagePartContainer &partContainer, |