From 2bfccc6301f71db5bf45977bb2955c04fa6c1605 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 31 Aug 2016 14:02:42 +0200 Subject: Remember highestmodseq --- examples/imapresource/imapserverproxy.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'examples/imapresource/imapserverproxy.cpp') diff --git a/examples/imapresource/imapserverproxy.cpp b/examples/imapresource/imapserverproxy.cpp index 4ce413a..0f3524f 100644 --- a/examples/imapresource/imapserverproxy.cpp +++ b/examples/imapresource/imapserverproxy.cpp @@ -100,7 +100,7 @@ ImapServerProxy::ImapServerProxy(const QString &serverUrl, int port) : mSession( if (Sink::Test::testModeEnabled()) { mSession->setTimeout(1); } else { - mSession->setTimeout(10); + mSession->setTimeout(20); } } @@ -416,15 +416,15 @@ QString ImapServerProxy::mailboxFromFolder(const Folder &folder) const return folder.pathParts.join(mPersonalNamespaceSeparator); } -KAsync::Job ImapServerProxy::fetchFlags(const Folder &folder, qint64 changedsince, std::function &)> callback) +KAsync::Job ImapServerProxy::fetchFlags(const Folder &folder, qint64 changedsince, std::function &)> callback) { SinkTrace() << "Fetching flags " << folder.normalizedPath(); - return select(mailboxFromFolder(folder)).then([=](const SelectResult &selectResult) -> KAsync::Job { + return select(mailboxFromFolder(folder)).then([=](const SelectResult &selectResult) -> KAsync::Job { SinkTrace() << "Modeseq " << folder.normalizedPath() << selectResult.highestModSequence << changedsince; if (selectResult.highestModSequence == static_cast(changedsince)) { SinkTrace()<< folder.normalizedPath() << "Changedsince didn't change, nothing to do."; - return KAsync::null(); + return KAsync::value(selectResult); } SinkTrace() << "Fetching flags " << folder.normalizedPath() << selectResult.highestModSequence << changedsince; @@ -433,7 +433,9 @@ KAsync::Job ImapServerProxy::fetchFlags(const Folder &folder, qint64 chang scope.mode = KIMAP2::FetchJob::FetchScope::Flags; scope.changedSince = changedsince; - return fetch(KIMAP2::ImapSet(1, 0), scope, callback); + return fetch(KIMAP2::ImapSet(1, 0), scope, callback).syncThen([selectResult] { + return selectResult; + }); }); } @@ -443,7 +445,6 @@ KAsync::Job ImapServerProxy::fetchMessages(const Folder &folder, qint64 ui time->start(); Q_ASSERT(!mPersonalNamespaceSeparator.isNull()); return select(mailboxFromFolder(folder)).then([this, callback, folder, time, progress, uidNext](const SelectResult &selectResult) -> KAsync::Job { - SinkTrace() << "UIDNEXT " << folder.normalizedPath() << selectResult.uidNext << uidNext; if (selectResult.uidNext == (uidNext + 1)) { SinkTrace()<< folder.normalizedPath() << "Uidnext didn't change, nothing to do."; -- cgit v1.2.3