summaryrefslogtreecommitdiffstats
path: root/framework/domain/foldercontroller.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-20 09:33:42 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-20 09:58:00 +0100
commitc3ba13d4240005cb9e7bdaca5977114e74bd0e9a (patch)
tree1ee5d114c6ac0c9680106059b48c22b3d65e99ff /framework/domain/foldercontroller.cpp
parent4b501d7c7bb37423a3963b85a74e804e22368095 (diff)
downloadkube-c3ba13d4240005cb9e7bdaca5977114e74bd0e9a.tar.gz
kube-c3ba13d4240005cb9e7bdaca5977114e74bd0e9a.zip
Support synchronizing individual accounts
Diffstat (limited to 'framework/domain/foldercontroller.cpp')
-rw-r--r--framework/domain/foldercontroller.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/framework/domain/foldercontroller.cpp b/framework/domain/foldercontroller.cpp
index 65c34dba..3c10f773 100644
--- a/framework/domain/foldercontroller.cpp
+++ b/framework/domain/foldercontroller.cpp
@@ -36,11 +36,14 @@ FolderController::FolderController()
36void FolderController::synchronize() 36void FolderController::synchronize()
37{ 37{
38 auto job = [&] { 38 auto job = [&] {
39 auto accountId = getAccountId();
39 if (auto folder = getFolder()) { 40 if (auto folder = getFolder()) {
40 SinkLog() << "Synchronizing folder " << folder->resourceInstanceIdentifier() << folder->identifier(); 41 SinkLog() << "Synchronizing folder " << folder->resourceInstanceIdentifier() << folder->identifier();
41 auto scope = SyncScope().resourceFilter(folder->resourceInstanceIdentifier()).filter<ApplicationDomain::Mail::Folder>(QVariant::fromValue(folder->identifier())); 42 auto scope = SyncScope().resourceFilter(folder->resourceInstanceIdentifier()).filter<ApplicationDomain::Mail::Folder>(QVariant::fromValue(folder->identifier()));
42 scope.setType<ApplicationDomain::Mail>(); 43 scope.setType<ApplicationDomain::Mail>();
43 return Store::synchronize(scope); 44 return Store::synchronize(scope);
45 } else if (!accountId.isEmpty()) {
46 return Store::synchronize(SyncScope{}.resourceFilter<ApplicationDomain::SinkResource::Account>(accountId));
44 } else { 47 } else {
45 SinkLog() << "Synchronizing all"; 48 SinkLog() << "Synchronizing all";
46 return Store::synchronize(SyncScope()); 49 return Store::synchronize(SyncScope());