summaryrefslogtreecommitdiffstats
path: root/examples/imapresource/imapresource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/imapresource/imapresource.cpp')
-rw-r--r--examples/imapresource/imapresource.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/examples/imapresource/imapresource.cpp b/examples/imapresource/imapresource.cpp
index eef0de0..175f75a 100644
--- a/examples/imapresource/imapresource.cpp
+++ b/examples/imapresource/imapresource.cpp
@@ -382,7 +382,11 @@ public:
382 { 382 {
383 QList<Synchronizer::SyncRequest> list; 383 QList<Synchronizer::SyncRequest> list;
384 if (query.type() == ApplicationDomain::getTypeName<ApplicationDomain::Mail>()) { 384 if (query.type() == ApplicationDomain::getTypeName<ApplicationDomain::Mail>()) {
385 list << Synchronizer::SyncRequest{applyMailDefaults(query)}; 385 auto request = Synchronizer::SyncRequest{applyMailDefaults(query)};
386 if (query.hasFilter(ApplicationDomain::Mail::Folder::name)) {
387 request.applicableEntities << query.getFilter(ApplicationDomain::Mail::Folder::name).value.toByteArray();
388 }
389 list << request;
386 } else if (query.type() == ApplicationDomain::getTypeName<ApplicationDomain::Folder>()) { 390 } else if (query.type() == ApplicationDomain::getTypeName<ApplicationDomain::Folder>()) {
387 list << Synchronizer::SyncRequest{query}; 391 list << Synchronizer::SyncRequest{query};
388 } else { 392 } else {
@@ -556,8 +560,6 @@ public:
556 SinkLog() << "Syncing folder " << folder.path(); 560 SinkLog() << "Syncing folder " << folder.path();
557 //Emit notification that the folder is being synced. 561 //Emit notification that the folder is being synced.
558 //The synchronizer can't do that because it has no concept of the folder filter on a mail sync scope meaning that the folder is being synchronized. 562 //The synchronizer can't do that because it has no concept of the folder filter on a mail sync scope meaning that the folder is being synchronized.
559 const auto folderLocalId = syncStore().resolveRemoteId(ENTITY_TYPE_FOLDER, folderRid(folder));
560 emitNotification(Notification::Info, ApplicationDomain::SyncInProgress, {}, {}, {folderLocalId});
561 QDate dateFilter; 563 QDate dateFilter;
562 auto filter = query.getFilter<ApplicationDomain::Mail::Date>(); 564 auto filter = query.getFilter<ApplicationDomain::Mail::Date>();
563 if (filter.value.canConvert<QDate>()) { 565 if (filter.value.canConvert<QDate>()) {
@@ -565,13 +567,8 @@ public:
565 SinkLog() << " with date-range " << dateFilter; 567 SinkLog() << " with date-range " << dateFilter;
566 } 568 }
567 return synchronizeFolder(imap, folder, dateFilter, syncHeaders) 569 return synchronizeFolder(imap, folder, dateFilter, syncHeaders)
568 .then([=](const KAsync::Error &error) { 570 .onError([=](const KAsync::Error &error) {
569 if (error) { 571 SinkWarning() << "Failed to sync folder: " << folder.path() << "Error: " << error.errorMessage;
570 SinkWarning() << "Failed to sync folder: " << folder.path() << "Error: " << error.errorMessage;
571 emitNotification(Notification::Info, ApplicationDomain::SyncError, {}, {}, {folderLocalId});
572 } else {
573 emitNotification(Notification::Info, ApplicationDomain::SyncSuccess, {}, {}, {folderLocalId});
574 }
575 }); 572 });
576 }); 573 });
577 }); 574 });