summaryrefslogtreecommitdiffstats
path: root/framework/domain/folderlistmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/domain/folderlistmodel.cpp')
-rw-r--r--framework/domain/folderlistmodel.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/framework/domain/folderlistmodel.cpp b/framework/domain/folderlistmodel.cpp
index 000dd263..98453ce9 100644
--- a/framework/domain/folderlistmodel.cpp
+++ b/framework/domain/folderlistmodel.cpp
@@ -72,19 +72,18 @@ void FolderListModel::runQuery(const Sink::Query &query)
72 72
73void FolderListModel::setAccountId(const QVariant &accountId) 73void FolderListModel::setAccountId(const QVariant &accountId)
74{ 74{
75 using namespace Sink::ApplicationDomain;
75 const auto account = accountId.toString().toUtf8(); 76 const auto account = accountId.toString().toUtf8();
76 Sink::Store::fetchAll<Sink::ApplicationDomain::SinkResource>(Sink::Query::PropertyFilter("account", QVariant::fromValue(account))) 77
77 .syncThen<void, QList<Sink::ApplicationDomain::SinkResource::Ptr>>([this, account](const QList<Sink::ApplicationDomain::SinkResource::Ptr> &resources) { 78 //Get all folders of an account
78 Sink::Query query; 79 auto query = Sink::Query();
79 query.liveQuery = true; 80 query.filter(SinkAccount(account));
80 query.requestedProperties << "name" << "icon" << "parent"; 81 query.liveQuery = true;
81 query.parentProperty = "parent"; 82 query.request<Folder::Name>()
82 for (const auto &r : resources) { 83 .request<Folder::Icon>()
83 qDebug() << "Found resources for account: " << r->identifier() << account; 84 .request<Folder::Parent>();
84 query.resources << r->identifier(); 85 query.parentProperty = Folder::Parent::name;
85 } 86 runQuery(query);
86 runQuery(query);
87 }).exec();
88} 87}
89 88
90QVariant FolderListModel::accountId() const 89QVariant FolderListModel::accountId() const