diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-07-08 16:48:41 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-07-08 16:48:41 +0200 |
commit | 3fe20509c29c40305d0362adbc787edfc29e96d4 (patch) | |
tree | f11f9e2604c56ccaa8606023e89b495928d990b3 /common/resourcefacade.cpp | |
parent | c0a8d67cde03e33bf21e0f186f85d4c89c7ff572 (diff) | |
download | sink-3fe20509c29c40305d0362adbc787edfc29e96d4.tar.gz sink-3fe20509c29c40305d0362adbc787edfc29e96d4.zip |
Filter queries by available resources, and filter resources by
resource-types
Diffstat (limited to 'common/resourcefacade.cpp')
-rw-r--r-- | common/resourcefacade.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/common/resourcefacade.cpp b/common/resourcefacade.cpp index 63b3126..9792934 100644 --- a/common/resourcefacade.cpp +++ b/common/resourcefacade.cpp | |||
@@ -56,11 +56,15 @@ KAsync::Job<void> ResourceFacade::remove(const Akonadi2::ApplicationDomain::Akon | |||
56 | KAsync::Job<void> ResourceFacade::load(const Akonadi2::Query &query, const QSharedPointer<Akonadi2::ResultProvider<typename Akonadi2::ApplicationDomain::AkonadiResource::Ptr> > &resultProvider) | 56 | KAsync::Job<void> ResourceFacade::load(const Akonadi2::Query &query, const QSharedPointer<Akonadi2::ResultProvider<typename Akonadi2::ApplicationDomain::AkonadiResource::Ptr> > &resultProvider) |
57 | { | 57 | { |
58 | return KAsync::start<void>([query, resultProvider]() { | 58 | return KAsync::start<void>([query, resultProvider]() { |
59 | for (const auto &res : ResourceConfig::getResources()) { | 59 | const auto configuredResources = ResourceConfig::getResources(); |
60 | auto resource = Akonadi2::ApplicationDomain::AkonadiResource::Ptr::create(); | 60 | for (const auto &res : configuredResources.keys()) { |
61 | resource->setProperty("identifier", res.first); | 61 | const auto type = configuredResources.value(res); |
62 | resource->setProperty("type", res.second); | 62 | if (!query.propertyFilter.contains("type") || query.propertyFilter.value("type").toByteArray() == type) { |
63 | resultProvider->add(resource); | 63 | auto resource = Akonadi2::ApplicationDomain::AkonadiResource::Ptr::create(); |
64 | resource->setProperty("identifier", res); | ||
65 | resource->setProperty("type", type); | ||
66 | resultProvider->add(resource); | ||
67 | } | ||
64 | } | 68 | } |
65 | //TODO initialResultSetComplete should be implicit | 69 | //TODO initialResultSetComplete should be implicit |
66 | resultProvider->initialResultSetComplete(); | 70 | resultProvider->initialResultSetComplete(); |