diff options
author | Eric Springer <eric.springer@nokia.com> | 2011-03-16 11:51:14 +1000 |
---|---|---|
committer | Eric Springer <eric.springer@nokia.com> | 2011-03-16 11:51:14 +1000 |
commit | d8428cda80afc09feaec5597e1ac2207f9ed8dda (patch) | |
tree | 1ca6f4a3ee00b0b3c9f9ce551a13b92d903a28b9 | |
parent | 24cb8cdd0a79cd973349d31120a541308a8f49d1 (diff) |
Revert "Chuck in unnamed namespace for external linkage"
This reverts commit 24cb8cdd0a79cd973349d31120a541308a8f49d1.
-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, 24 insertions, 25 deletions
diff --git a/examples/qtmail/app/emailclient.cpp b/examples/qtmail/app/emailclient.cpp index ea299590..1b394ec3 100644 --- a/examples/qtmail/app/emailclient.cpp +++ b/examples/qtmail/app/emailclient.cpp @@ -2524,14 +2524,6 @@ 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 62b4271a..f4400c59 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,"parentthreadid"); + map.insert(QMailMessageKey::Conversation,"id"); map.insert(QMailMessageKey::CopyServerUid, "copyserveruid"); map.insert(QMailMessageKey::RestoreFolderId, "restorefolderid"); map.insert(QMailMessageKey::ListId, "listid"); @@ -1861,14 +1861,26 @@ QString whereClauseItem<QMailMessageKey>(const QMailMessageKey &, const QMailMes break; case QMailMessageKey::Conversation: - if (a.valueList.first().canConvert<QMailMessageKey>()) { - QMailMessageKey messageKey = a.valueList.first().value<QMailMessageKey>(); - QString nestedAlias(incrementAlias(alias)); + { + // This desperately needs to be simplified... + QString nestedAlias1(incrementAlias(alias)); + QString nestedAlias2(incrementAlias(nestedAlias1)); - q << baseExpression(columnName, a.op, true) << "( SELECT " << qualifiedName("parentthreadid", nestedAlias) << " FROM mailmessages " << nestedAlias; - q << store.buildWhereClause(QMailStorePrivate::Key(messageKey, nestedAlias)) << ")"; - } else { - q << expression; + 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); + } + + q << " ) )"; } break; case QMailMessageKey::ServerUid: @@ -2726,7 +2738,7 @@ bool QMailStorePrivate::execute(QSqlQuery& query, bool batch) } #ifdef QMAILSTORE_LOG_SQL - qDebug() << "(" << pid << ")" << qPrintable(queryText(query)); + qWarning() << "(" << pid << ")" << qPrintable(queryText(query)); #endif if (!inTransaction) { @@ -3195,10 +3207,7 @@ 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 ed11d6da..351bf763 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 7849eb8b..df620954 100644 --- a/src/plugins/messageservices/imap/imapstrategy.cpp +++ b/src/plugins/messageservices/imap/imapstrategy.cpp @@ -1342,13 +1342,11 @@ void ImapFetchSelectedMessagesStrategy::clearSelection() _retrievalSize.clear(); } -namespace { -bool operator==(const QMailMessagePartContainer::Location &a, +static 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, |