summaryrefslogtreecommitdiffstats
path: root/common/clientapi.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2015-12-10 16:40:27 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2015-12-10 16:40:27 +0100
commitf2f26869ed6efc4faf173b9a5cd5d2f15cec1e06 (patch)
tree528f4dc70303424120c1f38a5ba2bc1f2592e55c /common/clientapi.cpp
parent8dfbfdddfec1bfe0e7db6c4752fcecf3293e292a (diff)
downloadsink-f2f26869ed6efc4faf173b9a5cd5d2f15cec1e06.tar.gz
sink-f2f26869ed6efc4faf173b9a5cd5d2f15cec1e06.zip
Deal with no available resources
Diffstat (limited to 'common/clientapi.cpp')
-rw-r--r--common/clientapi.cpp10
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) {