summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-09 15:13:04 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-09 15:13:04 +0100
commit6414ac623ae0db8ba406a92b07c99f3eede99d1f (patch)
tree7050d15b96b3a729e6d8e4dfce269f3f23df7490
parenta6c557b0d9873014cda4e3bcfedd82b50416ea23 (diff)
downloadkube-6414ac623ae0db8ba406a92b07c99f3eede99d1f.tar.gz
kube-6414ac623ae0db8ba406a92b07c99f3eede99d1f.zip
A synchronize action that can sync folders
-rw-r--r--framework/mail/actions/sinkactions.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/framework/mail/actions/sinkactions.cpp b/framework/mail/actions/sinkactions.cpp
index 8918f996..63b837aa 100644
--- a/framework/mail/actions/sinkactions.cpp
+++ b/framework/mail/actions/sinkactions.cpp
@@ -73,3 +73,17 @@ static ActionHandlerHelper deleteHandler("org.kde.kube.actions.delete",
73 Sink::Store::remove(*mail).exec(); 73 Sink::Store::remove(*mail).exec();
74 } 74 }
75); 75);
76
77static ActionHandlerHelper synchronizeHandler("org.kde.kube.actions.synchronize",
78 [](Context *context) -> bool {
79 return context->property("folder").isValid();
80 },
81 [](Context *context) {
82 auto folder = context->property("folder").value<Sink::ApplicationDomain::Folder::Ptr>();
83 if (!folder) {
84 qWarning() << "Failed to get the folder: " << context->property("folder");
85 return;
86 }
87 Sink::Store::synchronize(Sink::Query::ResourceFilter(folder->resourceInstanceIdentifier())).exec();
88 }
89);