From 71e3ede035692fbe225107f0c62d4840513d8c4c Mon Sep 17 00:00:00 2001 From: raduraducu Date: Wed, 6 Jul 2016 11:13:41 +0300 Subject: fix missing search by read/unread flag (#1465) * fix missing search my read/unread flag * added more flag-like searches --- src/core/imap/MCIMAPSession.cpp | 50 ++++++++++++++++++++++++++++++++++++++++ src/objc/abstract/MCOConstants.h | 2 ++ 2 files changed, 52 insertions(+) (limited to 'src') diff --git a/src/core/imap/MCIMAPSession.cpp b/src/core/imap/MCIMAPSession.cpp index a5a5e06c..8491176f 100644 --- a/src/core/imap/MCIMAPSession.cpp +++ b/src/core/imap/MCIMAPSession.cpp @@ -3142,6 +3142,56 @@ IndexSet * IMAPSession::search(String * folder, IMAPSearchKind kind, String * se expr = IMAPSearchExpression::searchContent(searchString); break; } + case IMAPSearchKindRead: + { + expr = IMAPSearchExpression::searchRead(); + break; + } + case IMAPSearchKindUnread: + { + expr = IMAPSearchExpression::searchUnread(); + break; + } + case IMAPSearchKindFlagged: + { + expr = IMAPSearchExpression::searchFlagged(); + break; + } + case IMAPSearchKindUnflagged: + { + expr = IMAPSearchExpression::searchUnflagged(); + break; + } + case IMAPSearchKindAnswered: + { + expr = IMAPSearchExpression::searchAnswered(); + break; + } + case IMAPSearchKindUnanswered: + { + expr = IMAPSearchExpression::searchUnanswered(); + break; + } + case IMAPSearchKindDraft: + { + expr = IMAPSearchExpression::searchDraft(); + break; + } + case IMAPSearchKindUndraft: + { + expr = IMAPSearchExpression::searchUndraft(); + break; + } + case IMAPSearchKindDeleted: + { + expr = IMAPSearchExpression::searchDeleted(); + break; + } + case IMAPSearchKindSpam: + { + expr = IMAPSearchExpression::searchSpam(); + break; + } default: { MCAssert(0); diff --git a/src/objc/abstract/MCOConstants.h b/src/objc/abstract/MCOConstants.h index 8fa4d115..9ee71e76 100644 --- a/src/objc/abstract/MCOConstants.h +++ b/src/objc/abstract/MCOConstants.h @@ -186,6 +186,8 @@ typedef NS_ENUM(NSInteger, MCOIMAPSearchKind) { MCOIMAPSearchKindBody, /** Match uids */ MCOIMAPSearchKindUids, + /** Match numbers */ + MCOIMAPSearchKindNumbers, /** Match headers of the message.*/ MCOIMAPSearchKindHeader, /** Match messages that are read.*/ -- cgit v1.2.3