diff options
Diffstat (limited to 'framework/domain')
-rw-r--r-- | framework/domain/actions/sinkactions.cpp | 15 | ||||
-rw-r--r-- | framework/domain/folderlistmodel.cpp | 23 | ||||
-rw-r--r-- | framework/domain/settings/accountsettings.cpp | 8 |
3 files changed, 23 insertions, 23 deletions
diff --git a/framework/domain/actions/sinkactions.cpp b/framework/domain/actions/sinkactions.cpp index f8a4e9ff..47041a5b 100644 --- a/framework/domain/actions/sinkactions.cpp +++ b/framework/domain/actions/sinkactions.cpp | |||
@@ -28,6 +28,7 @@ | |||
28 | SINK_DEBUG_AREA("sinkactions") | 28 | SINK_DEBUG_AREA("sinkactions") |
29 | 29 | ||
30 | using namespace Kube; | 30 | using namespace Kube; |
31 | using namespace Sink; | ||
31 | 32 | ||
32 | static ActionHandlerHelper markAsReadHandler("org.kde.kube.actions.mark-as-read", | 33 | static ActionHandlerHelper markAsReadHandler("org.kde.kube.actions.mark-as-read", |
33 | [](Context *context) -> bool { | 34 | [](Context *context) -> bool { |
@@ -102,11 +103,11 @@ static ActionHandlerHelper sendMailHandler("org.kde.kube.actions.sendmail", | |||
102 | auto message = context->property("message").value<KMime::Message::Ptr>(); | 103 | auto message = context->property("message").value<KMime::Message::Ptr>(); |
103 | SinkLog() << "Sending a mail: "; | 104 | SinkLog() << "Sending a mail: "; |
104 | 105 | ||
105 | Sink::Query query; | 106 | Query query; |
106 | query += Sink::Query::CapabilityFilter(Sink::ApplicationDomain::ResourceCapabilities::Mail::transport); | 107 | query.containsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::transport); |
107 | query += Sink::Query::AccountFilter(accountId); | 108 | query.filter(ApplicationDomain::SinkAccount(accountId)); |
108 | Sink::Store::fetchAll<Sink::ApplicationDomain::SinkResource>(query) | 109 | Store::fetchAll<ApplicationDomain::SinkResource>(query) |
109 | .then<void, QList<Sink::ApplicationDomain::SinkResource::Ptr>>([=](const QList<Sink::ApplicationDomain::SinkResource::Ptr> &resources) -> KAsync::Job<void> { | 110 | .then<void, QList<ApplicationDomain::SinkResource::Ptr>>([=](const QList<ApplicationDomain::SinkResource::Ptr> &resources) -> KAsync::Job<void> { |
110 | if (!resources.isEmpty()) { | 111 | if (!resources.isEmpty()) { |
111 | auto resourceId = resources[0]->identifier(); | 112 | auto resourceId = resources[0]->identifier(); |
112 | SinkTrace() << "Sending message via resource: " << resourceId; | 113 | SinkTrace() << "Sending message via resource: " << resourceId; |
@@ -138,8 +139,8 @@ static ActionHandlerHelper saveAsDraft("org.kde.kube.actions.save-as-draft", | |||
138 | 139 | ||
139 | if (existingMail.identifier().isEmpty()) { | 140 | if (existingMail.identifier().isEmpty()) { |
140 | Sink::Query query; | 141 | Sink::Query query; |
141 | query += Sink::Query::CapabilityFilter(Sink::ApplicationDomain::ResourceCapabilities::Mail::drafts); | 142 | query.containsFilter<ApplicationDomain::SinkResource::Capabilities>(ApplicationDomain::ResourceCapabilities::Mail::drafts); |
142 | query += Sink::Query::AccountFilter(accountId); | 143 | query.filter(ApplicationDomain::SinkAccount(accountId)); |
143 | return Sink::Store::fetchOne<Sink::ApplicationDomain::SinkResource>(query) | 144 | return Sink::Store::fetchOne<Sink::ApplicationDomain::SinkResource>(query) |
144 | .then<void, Sink::ApplicationDomain::SinkResource>([=](const Sink::ApplicationDomain::SinkResource &resource) -> KAsync::Job<void> { | 145 | .then<void, Sink::ApplicationDomain::SinkResource>([=](const Sink::ApplicationDomain::SinkResource &resource) -> KAsync::Job<void> { |
145 | Sink::ApplicationDomain::Mail mail(resource.identifier()); | 146 | Sink::ApplicationDomain::Mail mail(resource.identifier()); |
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 | ||
73 | void FolderListModel::setAccountId(const QVariant &accountId) | 73 | void 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 | ||
90 | QVariant FolderListModel::accountId() const | 89 | QVariant FolderListModel::accountId() const |
diff --git a/framework/domain/settings/accountsettings.cpp b/framework/domain/settings/accountsettings.cpp index 9a3be059..020fd503 100644 --- a/framework/domain/settings/accountsettings.cpp +++ b/framework/domain/settings/accountsettings.cpp | |||
@@ -155,7 +155,7 @@ void AccountSettings::loadAccount() | |||
155 | 155 | ||
156 | void AccountSettings::loadImapResource() | 156 | void AccountSettings::loadImapResource() |
157 | { | 157 | { |
158 | Sink::Store::fetchOne<Sink::ApplicationDomain::SinkResource>(Sink::Query::AccountFilter(mAccountIdentifier) + Sink::Query::CapabilityFilter(Sink::ApplicationDomain::ResourceCapabilities::Mail::storage)) | 158 | Sink::Store::fetchOne<Sink::ApplicationDomain::SinkResource>(Sink::Query().filter(Sink::ApplicationDomain::SinkAccount(mAccountIdentifier)).containsFilter<Sink::ApplicationDomain::SinkResource::Capabilities>(Sink::ApplicationDomain::ResourceCapabilities::Mail::storage)) |
159 | .syncThen<void, Sink::ApplicationDomain::SinkResource>([this](const Sink::ApplicationDomain::SinkResource &resource) { | 159 | .syncThen<void, Sink::ApplicationDomain::SinkResource>([this](const Sink::ApplicationDomain::SinkResource &resource) { |
160 | mImapIdentifier = resource.identifier(); | 160 | mImapIdentifier = resource.identifier(); |
161 | mImapServer = resource.getProperty("server").toString(); | 161 | mImapServer = resource.getProperty("server").toString(); |
@@ -169,7 +169,7 @@ void AccountSettings::loadImapResource() | |||
169 | 169 | ||
170 | void AccountSettings::loadMaildirResource() | 170 | void AccountSettings::loadMaildirResource() |
171 | { | 171 | { |
172 | Sink::Store::fetchOne<Sink::ApplicationDomain::SinkResource>(Sink::Query::AccountFilter(mAccountIdentifier) + Sink::Query::CapabilityFilter(Sink::ApplicationDomain::ResourceCapabilities::Mail::storage)) | 172 | Sink::Store::fetchOne<Sink::ApplicationDomain::SinkResource>(Sink::Query().filter(Sink::ApplicationDomain::SinkAccount(mAccountIdentifier)).containsFilter<Sink::ApplicationDomain::SinkResource::Capabilities>(Sink::ApplicationDomain::ResourceCapabilities::Mail::storage)) |
173 | .syncThen<void, Sink::ApplicationDomain::SinkResource>([this](const Sink::ApplicationDomain::SinkResource &resource) { | 173 | .syncThen<void, Sink::ApplicationDomain::SinkResource>([this](const Sink::ApplicationDomain::SinkResource &resource) { |
174 | mMaildirIdentifier = resource.identifier(); | 174 | mMaildirIdentifier = resource.identifier(); |
175 | auto path = resource.getProperty("path").toString(); | 175 | auto path = resource.getProperty("path").toString(); |
@@ -184,7 +184,7 @@ void AccountSettings::loadMaildirResource() | |||
184 | 184 | ||
185 | void AccountSettings::loadMailtransportResource() | 185 | void AccountSettings::loadMailtransportResource() |
186 | { | 186 | { |
187 | Sink::Store::fetchOne<Sink::ApplicationDomain::SinkResource>(Sink::Query::AccountFilter(mAccountIdentifier) + Sink::Query::CapabilityFilter(Sink::ApplicationDomain::ResourceCapabilities::Mail::transport)) | 187 | Sink::Store::fetchOne<Sink::ApplicationDomain::SinkResource>(Sink::Query().filter(Sink::ApplicationDomain::SinkAccount(mAccountIdentifier)).containsFilter<Sink::ApplicationDomain::SinkResource::Capabilities>(Sink::ApplicationDomain::ResourceCapabilities::Mail::transport)) |
188 | .syncThen<void, Sink::ApplicationDomain::SinkResource>([this](const Sink::ApplicationDomain::SinkResource &resource) { | 188 | .syncThen<void, Sink::ApplicationDomain::SinkResource>([this](const Sink::ApplicationDomain::SinkResource &resource) { |
189 | mMailtransportIdentifier = resource.identifier(); | 189 | mMailtransportIdentifier = resource.identifier(); |
190 | mSmtpServer = resource.getProperty("server").toString(); | 190 | mSmtpServer = resource.getProperty("server").toString(); |
@@ -199,7 +199,7 @@ void AccountSettings::loadMailtransportResource() | |||
199 | void AccountSettings::loadIdentity() | 199 | void AccountSettings::loadIdentity() |
200 | { | 200 | { |
201 | //FIXME this assumes that we only ever have one identity per account | 201 | //FIXME this assumes that we only ever have one identity per account |
202 | Sink::Store::fetchOne<Sink::ApplicationDomain::Identity>(Sink::Query::AccountFilter(mAccountIdentifier)) | 202 | Sink::Store::fetchOne<Sink::ApplicationDomain::Identity>(Sink::Query().filter(Sink::ApplicationDomain::SinkAccount(mAccountIdentifier))) |
203 | .syncThen<void, Sink::ApplicationDomain::Identity>([this](const Sink::ApplicationDomain::Identity &identity) { | 203 | .syncThen<void, Sink::ApplicationDomain::Identity>([this](const Sink::ApplicationDomain::Identity &identity) { |
204 | mIdentityIdentifier = identity.identifier(); | 204 | mIdentityIdentifier = identity.identifier(); |
205 | mUsername = identity.getProperty("username").toString(); | 205 | mUsername = identity.getProperty("username").toString(); |