From c3ba13d4240005cb9e7bdaca5977114e74bd0e9a Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 20 Mar 2017 09:33:42 +0100 Subject: Support synchronizing individual accounts --- framework/domain/foldercontroller.cpp | 3 +++ framework/domain/foldercontroller.h | 1 + 2 files changed, 4 insertions(+) (limited to 'framework/domain') 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() void FolderController::synchronize() { auto job = [&] { + auto accountId = getAccountId(); if (auto folder = getFolder()) { SinkLog() << "Synchronizing folder " << folder->resourceInstanceIdentifier() << folder->identifier(); auto scope = SyncScope().resourceFilter(folder->resourceInstanceIdentifier()).filter(QVariant::fromValue(folder->identifier())); scope.setType(); return Store::synchronize(scope); + } else if (!accountId.isEmpty()) { + return Store::synchronize(SyncScope{}.resourceFilter(accountId)); } else { SinkLog() << "Synchronizing all"; return Store::synchronize(SyncScope()); diff --git a/framework/domain/foldercontroller.h b/framework/domain/foldercontroller.h index b56e08e8..c0815546 100644 --- a/framework/domain/foldercontroller.h +++ b/framework/domain/foldercontroller.h @@ -27,6 +27,7 @@ class FolderController : public Kube::Controller Q_OBJECT KUBE_CONTROLLER_PROPERTY(Sink::ApplicationDomain::Folder::Ptr, Folder, folder) KUBE_CONTROLLER_PROPERTY(Sink::ApplicationDomain::Mail::Ptr, Mail, mail) + KUBE_CONTROLLER_PROPERTY(QByteArray, AccountId, accountId) KUBE_CONTROLLER_ACTION(synchronize) KUBE_CONTROLLER_ACTION(moveToFolder) -- cgit v1.2.3