From 2d22c56efe95dfcc4be644faefbf3db13a2bd7d1 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 5 May 2015 09:49:40 -0400 Subject: [PATCH] (feat) added replied/forwarded message status support + pimped UI a bit --- UI/MailerUI/UIxMailListActions.m | 32 ++++++++++++++++--- UI/Templates/MailerUI/UIxMailEditor.wox | 26 +++++++++++++-- .../MailerUI/UIxMailFolderTemplate.wox | 15 +++++---- UI/Templates/MailerUI/UIxMailViewTemplate.wox | 17 +++++++--- 4 files changed, 73 insertions(+), 17 deletions(-) diff --git a/UI/MailerUI/UIxMailListActions.m b/UI/MailerUI/UIxMailListActions.m index aee97c2c1..d19052593 100644 --- a/UI/MailerUI/UIxMailListActions.m +++ b/UI/MailerUI/UIxMailListActions.m @@ -1,5 +1,5 @@ /* - Copyright (C) 2006-2014 Inverse inc. + Copyright (C) 2006-2015 Inverse inc. This file is part of SOGo @@ -269,11 +269,27 @@ - (BOOL) isMessageFlagged { NSArray *flags; - + flags = [[self message] valueForKey: @"flags"]; return [flags containsObject: @"flagged"]; } +- (BOOL) isMessageAnswered +{ + NSArray *flags; + + flags = [[self message] valueForKey: @"flags"]; + return [flags containsObject: @"answered"]; +} + +- (BOOL) isMessageForwarded +{ + NSArray *flags; + + flags = [[self message] valueForKey: @"flags"]; + return [flags containsObject: @"$forwarded"]; +} + - (NSString *) messageUidString { return [[[self message] valueForKey:@"uid"] stringValue]; @@ -750,7 +766,7 @@ msgsList = [[msgs objectForKey: @"fetch"] objectEnumerator]; [self setMessage: [msgsList nextObject]]; - msg = [NSMutableArray arrayWithObjects: @"To", @"hasAttachment", @"isFlagged", @"Subject", @"From", @"isRead", @"Priority", @"RelativeDate", @"Size", @"Flags", @"uid", nil]; + msg = [NSMutableArray arrayWithObjects: @"To", @"hasAttachment", @"isFlagged", @"Subject", @"From", @"isRead", @"Priority", @"RelativeDate", @"Size", @"Flags", @"uid", @"isAnswered", @"isForwarded", nil]; [headers addObject: msg]; while (message) { @@ -818,15 +834,23 @@ // Mail labels / tags tags = [NSMutableArray arrayWithArray: [message objectForKey: @"flags"]]; + [tags removeObject: @"answered"]; [tags removeObject: @"deleted"]; - [tags removeObject: @"flaggged"]; + [tags removeObject: @"flagged"]; [tags removeObject: @"recent"]; [tags removeObject: @"seen"]; + [tags removeObject: @"$forwarded"]; [msg addObject: tags]; // UID [msg addObject: [message objectForKey: @"uid"]]; [headers addObject: msg]; + + // isAnswered + [msg addObject: [NSNumber numberWithBool: [self isMessageAnswered]]]; + + // isForwarded + [msg addObject: [NSNumber numberWithBool: [self isMessageForwarded]]]; [self setMessage: [msgsList nextObject]]; } diff --git a/UI/Templates/MailerUI/UIxMailEditor.wox b/UI/Templates/MailerUI/UIxMailEditor.wox index d545e3ce6..a992de09d 100644 --- a/UI/Templates/MailerUI/UIxMailEditor.wox +++ b/UI/Templates/MailerUI/UIxMailEditor.wox @@ -76,6 +76,21 @@ + +
+ + + + + + +