summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-01-25 10:20:11 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-01-25 10:20:11 +0100
commitca2b2e46333181cff8f20125454470a954d9fbc1 (patch)
tree9f32f55452a054d859684373f7bf1791f3bef99f
parentc7894556b40d7530b97056026281a43be96776a4 (diff)
downloadsink-ca2b2e46333181cff8f20125454470a954d9fbc1.tar.gz
sink-ca2b2e46333181cff8f20125454470a954d9fbc1.zip
Ignore mails that are marked as deleted.
-rw-r--r--examples/imapresource/imapserverproxy.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/examples/imapresource/imapserverproxy.cpp b/examples/imapresource/imapserverproxy.cpp
index d5c212d..304a0e8 100644
--- a/examples/imapresource/imapserverproxy.cpp
+++ b/examples/imapresource/imapserverproxy.cpp
@@ -331,12 +331,19 @@ KAsync::Job<QVector<qint64>> ImapServerProxy::fetchHeaders(const QString &mailbo
331 331
332KAsync::Job<QVector<qint64>> ImapServerProxy::fetchUids(const QString &mailbox) 332KAsync::Job<QVector<qint64>> ImapServerProxy::fetchUids(const QString &mailbox)
333{ 333{
334 return select(mailbox).then<QVector<qint64>>(search(KIMAP2::Term(KIMAP2::Term::Uid, KIMAP2::ImapSet(1, 0)))); 334 auto term = KIMAP2::Term(KIMAP2::Term::Uid, KIMAP2::ImapSet(1, 0));
335 auto notDeleted = KIMAP2::Term(KIMAP2::Term::Deleted);
336 notDeleted.setNegated(true);
337 return select(mailbox).then<QVector<qint64>>(search(notDeleted));
335} 338}
336 339
337KAsync::Job<QVector<qint64>> ImapServerProxy::fetchUidsSince(const QString &mailbox, const QDate &since) 340KAsync::Job<QVector<qint64>> ImapServerProxy::fetchUidsSince(const QString &mailbox, const QDate &since)
338{ 341{
339 return select(mailbox).then<QVector<qint64>>(search(KIMAP2::Term(KIMAP2::Term::Since, since))); 342 auto sinceTerm = KIMAP2::Term(KIMAP2::Term::Since, since);
343 auto notDeleted = KIMAP2::Term(KIMAP2::Term::Deleted);
344 notDeleted.setNegated(true);
345 auto term = KIMAP2::Term(KIMAP2::Term::And, QVector<KIMAP2::Term>() << sinceTerm << notDeleted);
346 return select(mailbox).then<QVector<qint64>>(search(term));
340} 347}
341 348
342KAsync::Job<void> ImapServerProxy::list(KIMAP2::ListJob::Option option, const std::function<void(const KIMAP2::MailBoxDescriptor &mailboxes, const QList<QByteArray> &flags)> &callback) 349KAsync::Job<void> ImapServerProxy::list(KIMAP2::ListJob::Option option, const std::function<void(const KIMAP2::MailBoxDescriptor &mailboxes, const QList<QByteArray> &flags)> &callback)