summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Springer <eric.springer@nokia.com>2011-03-16 10:56:03 +1000
committerEric Springer <eric.springer@nokia.com>2011-03-16 10:56:03 +1000
commit24cb8cdd0a79cd973349d31120a541308a8f49d1 (patch)
tree078918408e20d006c5e611f00267429d53b05f78
parent41428cff8b5bd05aed511cd45937f290489e1a60 (diff)
Chuck in unnamed namespace for external linkage
-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, 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,