diff options
-rw-r--r-- | common/query.cpp | 13 | ||||
-rw-r--r-- | common/query.h | 11 | ||||
-rw-r--r-- | common/standardqueries.h | 3 |
3 files changed, 26 insertions, 1 deletions
diff --git a/common/query.cpp b/common/query.cpp index 14acde0..940c596 100644 --- a/common/query.cpp +++ b/common/query.cpp | |||
@@ -39,9 +39,19 @@ QDebug operator<<(QDebug dbg, const Sink::QueryBase::Comparator &c) | |||
39 | return dbg.space(); | 39 | return dbg.space(); |
40 | } | 40 | } |
41 | 41 | ||
42 | QDebug operator<<(QDebug dbg, const Sink::QueryBase::Filter &filter) | ||
43 | { | ||
44 | if (filter.ids.isEmpty()) { | ||
45 | dbg.nospace() << "Filter(" << filter.propertyFilter << ")"; | ||
46 | } else { | ||
47 | dbg.nospace() << "Filter(" << filter.ids << ")"; | ||
48 | } | ||
49 | return dbg.maybeSpace(); | ||
50 | } | ||
51 | |||
42 | QDebug operator<<(QDebug dbg, const Sink::QueryBase &query) | 52 | QDebug operator<<(QDebug dbg, const Sink::QueryBase &query) |
43 | { | 53 | { |
44 | dbg.nospace() << "Query [" << query.type() << "]\n"; | 54 | dbg.nospace() << "Query [" << query.type() << "] << Id: " << query.id() << "\n"; |
45 | dbg.nospace() << " Filter: " << query.getBaseFilters() << "\n"; | 55 | dbg.nospace() << " Filter: " << query.getBaseFilters() << "\n"; |
46 | dbg.nospace() << " Ids: " << query.ids() << "\n"; | 56 | dbg.nospace() << " Ids: " << query.ids() << "\n"; |
47 | dbg.nospace() << " Sorting: " << query.sortProperty() << "\n"; | 57 | dbg.nospace() << " Sorting: " << query.sortProperty() << "\n"; |
@@ -54,6 +64,7 @@ QDebug operator<<(QDebug dbg, const Sink::Query &query) | |||
54 | dbg.nospace() << " Requested: " << query.requestedProperties << "\n"; | 64 | dbg.nospace() << " Requested: " << query.requestedProperties << "\n"; |
55 | dbg.nospace() << " Parent: " << query.parentProperty() << "\n"; | 65 | dbg.nospace() << " Parent: " << query.parentProperty() << "\n"; |
56 | dbg.nospace() << " IsLive: " << query.liveQuery() << "\n"; | 66 | dbg.nospace() << " IsLive: " << query.liveQuery() << "\n"; |
67 | dbg.nospace() << " ResourceFilter: " << query.getResourceFilter() << "\n"; | ||
57 | return dbg.maybeSpace(); | 68 | return dbg.maybeSpace(); |
58 | } | 69 | } |
59 | 70 | ||
diff --git a/common/query.h b/common/query.h index c265f92..e1d5f1c 100644 --- a/common/query.h +++ b/common/query.h | |||
@@ -82,6 +82,16 @@ public: | |||
82 | return hasFilter(T::name); | 82 | return hasFilter(T::name); |
83 | } | 83 | } |
84 | 84 | ||
85 | void setId(const QByteArray &id) | ||
86 | { | ||
87 | mId = id; | ||
88 | } | ||
89 | |||
90 | QByteArray id() const | ||
91 | { | ||
92 | return mId; | ||
93 | } | ||
94 | |||
85 | void setBaseFilters(const QHash<QByteArray, Comparator> &filter) | 95 | void setBaseFilters(const QHash<QByteArray, Comparator> &filter) |
86 | { | 96 | { |
87 | mBaseFilterStage.propertyFilter = filter; | 97 | mBaseFilterStage.propertyFilter = filter; |
@@ -275,6 +285,7 @@ private: | |||
275 | QList<QSharedPointer<FilterStage>> mFilterStages; | 285 | QList<QSharedPointer<FilterStage>> mFilterStages; |
276 | QByteArray mType; | 286 | QByteArray mType; |
277 | QByteArray mSortProperty; | 287 | QByteArray mSortProperty; |
288 | QByteArray mId; | ||
278 | }; | 289 | }; |
279 | 290 | ||
280 | /** | 291 | /** |
diff --git a/common/standardqueries.h b/common/standardqueries.h index ccb02a2..70e03cb 100644 --- a/common/standardqueries.h +++ b/common/standardqueries.h | |||
@@ -30,6 +30,7 @@ namespace StandardQueries { | |||
30 | static Query completeThread(const ApplicationDomain::Mail &mail) | 30 | static Query completeThread(const ApplicationDomain::Mail &mail) |
31 | { | 31 | { |
32 | Sink::Query query; | 32 | Sink::Query query; |
33 | query.setId("completethread"); | ||
33 | if (!mail.resourceInstanceIdentifier().isEmpty()) { | 34 | if (!mail.resourceInstanceIdentifier().isEmpty()) { |
34 | query.resourceFilter(mail.resourceInstanceIdentifier()); | 35 | query.resourceFilter(mail.resourceInstanceIdentifier()); |
35 | } | 36 | } |
@@ -45,6 +46,7 @@ namespace StandardQueries { | |||
45 | static Query threadLeaders(const ApplicationDomain::Folder &folder) | 46 | static Query threadLeaders(const ApplicationDomain::Folder &folder) |
46 | { | 47 | { |
47 | Sink::Query query; | 48 | Sink::Query query; |
49 | query.setId("threadleaders"); | ||
48 | if (!folder.resourceInstanceIdentifier().isEmpty()) { | 50 | if (!folder.resourceInstanceIdentifier().isEmpty()) { |
49 | query.resourceFilter(folder.resourceInstanceIdentifier()); | 51 | query.resourceFilter(folder.resourceInstanceIdentifier()); |
50 | } | 52 | } |
@@ -63,6 +65,7 @@ namespace StandardQueries { | |||
63 | static Query outboxMails() | 65 | static Query outboxMails() |
64 | { | 66 | { |
65 | Sink::Query query; | 67 | Sink::Query query; |
68 | query.setId("outbox"); | ||
66 | query.resourceContainsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::transport); | 69 | query.resourceContainsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::transport); |
67 | query.sort<ApplicationDomain::Mail::Date>(); | 70 | query.sort<ApplicationDomain::Mail::Date>(); |
68 | return query; | 71 | return query; |