diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-11-24 23:00:45 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-11-24 23:00:45 +0100 |
commit | 9ad96df6cd1526de32bff2b4f98491dd8318f760 (patch) | |
tree | e1b3da017f97a266efc3b081d59e502eb1f62bde /common/facade.cpp | |
parent | 110817a23463c71eacbc986af3ae509462758a3c (diff) | |
download | sink-9ad96df6cd1526de32bff2b4f98491dd8318f760.tar.gz sink-9ad96df6cd1526de32bff2b4f98491dd8318f760.zip |
Use Query::parentProperty to express tree queries
That way we don't have to hardcode the parent property,
and we can use the property to express non-tree queries as well.
Diffstat (limited to 'common/facade.cpp')
-rw-r--r-- | common/facade.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/common/facade.cpp b/common/facade.cpp index 08f7500..59972bf 100644 --- a/common/facade.cpp +++ b/common/facade.cpp | |||
@@ -350,12 +350,12 @@ template<class DomainType> | |||
350 | qint64 GenericFacade<DomainType>::executeInitialQuery(const Akonadi2::Query &query, const typename DomainType::Ptr &parent, Akonadi2::ResultProviderInterface<typename DomainType::Ptr> &resultProvider) | 350 | qint64 GenericFacade<DomainType>::executeInitialQuery(const Akonadi2::Query &query, const typename DomainType::Ptr &parent, Akonadi2::ResultProviderInterface<typename DomainType::Ptr> &resultProvider) |
351 | { | 351 | { |
352 | auto modifiedQuery = query; | 352 | auto modifiedQuery = query; |
353 | if (parent) { | 353 | if (parent && !query.parentProperty.isEmpty()) { |
354 | Trace() << "Running initial query for parent:" << parent->identifier(); | 354 | Trace() << "Running initial query for parent:" << parent->identifier(); |
355 | modifiedQuery.propertyFilter.insert("parent", parent->identifier()); | 355 | modifiedQuery.propertyFilter.insert(query.parentProperty, parent->identifier()); |
356 | } else { | 356 | } else { |
357 | Trace() << "Running initial query for toplevel"; | 357 | Trace() << "Running initial query for toplevel"; |
358 | modifiedQuery.propertyFilter.insert("parent", QVariant()); | 358 | modifiedQuery.propertyFilter.insert(query.parentProperty, QVariant()); |
359 | } | 359 | } |
360 | return load(modifiedQuery, [&](Akonadi2::Storage::Transaction &transaction, QSet<QByteArray> &remainingFilters) -> ResultSet { | 360 | return load(modifiedQuery, [&](Akonadi2::Storage::Transaction &transaction, QSet<QByteArray> &remainingFilters) -> ResultSet { |
361 | return loadInitialResultSet(modifiedQuery, transaction, remainingFilters); | 361 | return loadInitialResultSet(modifiedQuery, transaction, remainingFilters); |
@@ -365,6 +365,5 @@ qint64 GenericFacade<DomainType>::executeInitialQuery(const Akonadi2::Query &que | |||
365 | template class Akonadi2::GenericFacade<Akonadi2::ApplicationDomain::Folder>; | 365 | template class Akonadi2::GenericFacade<Akonadi2::ApplicationDomain::Folder>; |
366 | template class Akonadi2::GenericFacade<Akonadi2::ApplicationDomain::Mail>; | 366 | template class Akonadi2::GenericFacade<Akonadi2::ApplicationDomain::Mail>; |
367 | template class Akonadi2::GenericFacade<Akonadi2::ApplicationDomain::Event>; | 367 | template class Akonadi2::GenericFacade<Akonadi2::ApplicationDomain::Event>; |
368 | // template class Akonadi2::GenericFacade<Akonadi2::ApplicationDomain::AkonadiResource>; | ||
369 | 368 | ||
370 | #include "facade.moc" | 369 | #include "facade.moc" |