summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Springer <eric.springer@nokia.com>2011-03-16 11:51:14 +1000
committerEric Springer <eric.springer@nokia.com>2011-03-16 11:51:14 +1000
commitd8428cda80afc09feaec5597e1ac2207f9ed8dda (patch)
tree1ca6f4a3ee00b0b3c9f9ce551a13b92d903a28b9
parent24cb8cdd0a79cd973349d31120a541308a8f49d1 (diff)
Revert "Chuck in unnamed namespace for external linkage"
This reverts commit 24cb8cdd0a79cd973349d31120a541308a8f49d1.
-rw-r--r--examples/qtmail/app/emailclient.cpp8
-rw-r--r--src/libraries/qmfclient/qmailstore_p.cpp35
-rw-r--r--src/libraries/qmfclient/qmailstore_p.h2
-rw-r--r--src/plugins/messageservices/imap/imapstrategy.cpp4
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,