diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-12-10 16:40:27 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-12-10 16:40:27 +0100 |
commit | f2f26869ed6efc4faf173b9a5cd5d2f15cec1e06 (patch) | |
tree | 528f4dc70303424120c1f38a5ba2bc1f2592e55c /common/clientapi.cpp | |
parent | 8dfbfdddfec1bfe0e7db6c4752fcecf3293e292a (diff) | |
download | sink-f2f26869ed6efc4faf173b9a5cd5d2f15cec1e06.tar.gz sink-f2f26869ed6efc4faf173b9a5cd5d2f15cec1e06.zip |
Deal with no available resources
Diffstat (limited to 'common/clientapi.cpp')
-rw-r--r-- | common/clientapi.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/common/clientapi.cpp b/common/clientapi.cpp index 061d920..644d60c 100644 --- a/common/clientapi.cpp +++ b/common/clientapi.cpp | |||
@@ -90,7 +90,15 @@ QSharedPointer<QAbstractItemModel> Store::loadModel(Query query) | |||
90 | //* The result provider needs to live for as long as results are provided (until the last thread exits). | 90 | //* The result provider needs to live for as long as results are provided (until the last thread exits). |
91 | 91 | ||
92 | // Query all resources and aggregate results | 92 | // Query all resources and aggregate results |
93 | KAsync::iterate(getResources(query.resources, ApplicationDomain::getTypeName<DomainType>())) | 93 | auto resources = getResources(query.resources, ApplicationDomain::getTypeName<DomainType>()); |
94 | if (resources.isEmpty()) { | ||
95 | Warning() << "No resources available."; | ||
96 | auto resultProvider = Akonadi2::ResultProvider<typename DomainType::Ptr>::Ptr::create(); | ||
97 | model->setEmitter(resultProvider->emitter()); | ||
98 | resultProvider->initialResultSetComplete(typename DomainType::Ptr()); | ||
99 | return model; | ||
100 | } | ||
101 | KAsync::iterate(resources) | ||
94 | .template each<void, QByteArray>([query, model](const QByteArray &resource, KAsync::Future<void> &future) { | 102 | .template each<void, QByteArray>([query, model](const QByteArray &resource, KAsync::Future<void> &future) { |
95 | auto facade = FacadeFactory::instance().getFacade<DomainType>(resourceName(resource), resource); | 103 | auto facade = FacadeFactory::instance().getFacade<DomainType>(resourceName(resource), resource); |
96 | if (facade) { | 104 | if (facade) { |