summaryrefslogtreecommitdiffstats
path: root/examples/imapresource/imapserverproxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/imapresource/imapserverproxy.cpp')
-rw-r--r--examples/imapresource/imapserverproxy.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/examples/imapresource/imapserverproxy.cpp b/examples/imapresource/imapserverproxy.cpp
index af1f4d1..a172c93 100644
--- a/examples/imapresource/imapserverproxy.cpp
+++ b/examples/imapresource/imapserverproxy.cpp
@@ -441,18 +441,18 @@ KAsync::Job<void> ImapServerProxy::fetchMessages(const Folder &folder, qint64 ui
441 SinkTrace() << " Total: " << uidsToFetch.size(); 441 SinkTrace() << " Total: " << uidsToFetch.size();
442 SinkTrace() << " Uids to fetch: " << uidsToFetch; 442 SinkTrace() << " Uids to fetch: " << uidsToFetch;
443 SinkTrace() << " Took: " << Sink::Log::TraceTime(time->elapsed()); 443 SinkTrace() << " Took: " << Sink::Log::TraceTime(time->elapsed());
444 return fetchMessages(folder, uidsToFetch, callback, progress); 444 return fetchMessages(folder, uidsToFetch, false, callback, progress);
445 }); 445 });
446 446
447 }); 447 });
448} 448}
449 449
450KAsync::Job<void> ImapServerProxy::fetchMessages(const Folder &folder, const QVector<qint64> &uidsToFetch, std::function<void(const Message &)> callback, std::function<void(int, int)> progress) 450KAsync::Job<void> ImapServerProxy::fetchMessages(const Folder &folder, const QVector<qint64> &uidsToFetch, bool headersOnly, std::function<void(const Message &)> callback, std::function<void(int, int)> progress)
451{ 451{
452 auto time = QSharedPointer<QTime>::create(); 452 auto time = QSharedPointer<QTime>::create();
453 time->start(); 453 time->start();
454 Q_ASSERT(!mPersonalNamespaceSeparator.isNull()); 454 Q_ASSERT(!mPersonalNamespaceSeparator.isNull());
455 return select(mailboxFromFolder(folder)).then<void, SelectResult>([this, callback, folder, time, progress, uidsToFetch](const SelectResult &selectResult) -> KAsync::Job<void> { 455 return select(mailboxFromFolder(folder)).then<void, SelectResult>([this, callback, folder, time, progress, uidsToFetch, headersOnly](const SelectResult &selectResult) -> KAsync::Job<void> {
456 456
457 SinkTrace() << "Fetching messages" << folder.path(); 457 SinkTrace() << "Fetching messages" << folder.path();
458 SinkTrace() << " Total: " << uidsToFetch.size(); 458 SinkTrace() << " Total: " << uidsToFetch.size();
@@ -467,7 +467,11 @@ KAsync::Job<void> ImapServerProxy::fetchMessages(const Folder &folder, const QVe
467 } 467 }
468 KIMAP2::FetchJob::FetchScope scope; 468 KIMAP2::FetchJob::FetchScope scope;
469 scope.parts.clear(); 469 scope.parts.clear();
470 scope.mode = KIMAP2::FetchJob::FetchScope::Full; 470 if (headersOnly) {
471 scope.mode = KIMAP2::FetchJob::FetchScope::Headers;
472 } else {
473 scope.mode = KIMAP2::FetchJob::FetchScope::Full;
474 }
471 475
472 KIMAP2::ImapSet set; 476 KIMAP2::ImapSet set;
473 set.add(uidsToFetch); 477 set.add(uidsToFetch);