From ca2b2e46333181cff8f20125454470a954d9fbc1 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Wed, 25 Jan 2017 10:20:11 +0100 Subject: Ignore mails that are marked as deleted. --- examples/imapresource/imapserverproxy.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'examples') 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> ImapServerProxy::fetchHeaders(const QString &mailbo KAsync::Job> ImapServerProxy::fetchUids(const QString &mailbox) { - return select(mailbox).then>(search(KIMAP2::Term(KIMAP2::Term::Uid, KIMAP2::ImapSet(1, 0)))); + auto term = KIMAP2::Term(KIMAP2::Term::Uid, KIMAP2::ImapSet(1, 0)); + auto notDeleted = KIMAP2::Term(KIMAP2::Term::Deleted); + notDeleted.setNegated(true); + return select(mailbox).then>(search(notDeleted)); } KAsync::Job> ImapServerProxy::fetchUidsSince(const QString &mailbox, const QDate &since) { - return select(mailbox).then>(search(KIMAP2::Term(KIMAP2::Term::Since, since))); + auto sinceTerm = KIMAP2::Term(KIMAP2::Term::Since, since); + auto notDeleted = KIMAP2::Term(KIMAP2::Term::Deleted); + notDeleted.setNegated(true); + auto term = KIMAP2::Term(KIMAP2::Term::And, QVector() << sinceTerm << notDeleted); + return select(mailbox).then>(search(term)); } KAsync::Job ImapServerProxy::list(KIMAP2::ListJob::Option option, const std::function &flags)> &callback) -- cgit v1.2.3