From b0318ca7b65f54936f3b86c1c6c84dd649600931 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Mon, 4 May 2015 13:56:29 -0400 Subject: [PATCH] (feat) chips for mail labels --- UI/MailerUI/UIxMailListActions.m | 30 +++++++++++-------- UI/MailerUI/UIxMailMainFrame.m | 1 - UI/Templates/MailerUI/UIxMailMainFrame.wox | 2 +- UI/Templates/MailerUI/UIxMailViewTemplate.wox | 20 +++++++++++++ .../js/Mailer/message-model.js | 30 +++++++++++++++++-- UI/WebServerResources/js/MailerUI.js | 6 ++++ 6 files changed, 72 insertions(+), 17 deletions(-) diff --git a/UI/MailerUI/UIxMailListActions.m b/UI/MailerUI/UIxMailListActions.m index 28613b0f6..aee97c2c1 100644 --- a/UI/MailerUI/UIxMailListActions.m +++ b/UI/MailerUI/UIxMailListActions.m @@ -254,24 +254,24 @@ { NSArray *flags; - flags = [[self message] valueForKey:@"flags"]; - return [flags containsObject:@"deleted"]; + flags = [[self message] valueForKey: @"flags"]; + return [flags containsObject: @"deleted"]; } - (BOOL) isMessageRead { NSArray *flags; - flags = [[self message] valueForKey:@"flags"]; - return [flags containsObject:@"seen"]; + flags = [[self message] valueForKey: @"flags"]; + return [flags containsObject: @"seen"]; } - (BOOL) isMessageFlagged { NSArray *flags; - flags = [[self message] valueForKey:@"flags"]; - return [flags containsObject:@"flagged"]; + flags = [[self message] valueForKey: @"flags"]; + return [flags containsObject: @"flagged"]; } - (NSString *) messageUidString @@ -733,12 +733,12 @@ - (NSArray *) getHeadersForUIDs: (NSArray *) uids inFolder: (SOGoMailFolder *) mailFolder { + UIxEnvelopeAddressFormatter *addressFormatter; + NSMutableArray *headers, *msg, *tags; + NSEnumerator *msgsList; NSArray *to, *from; NSDictionary *msgs; - NSMutableArray *headers, *msg; - NSEnumerator *msgsList; NSString *msgDate; - UIxEnvelopeAddressFormatter *addressFormatter; headers = [NSMutableArray arrayWithCapacity: [uids count]]; addressFormatter = [context mailEnvelopeAddressFormatter]; @@ -801,7 +801,6 @@ else [msg addObject: @""]; - // isRead [msg addObject: [NSNumber numberWithBool: [self isMessageRead]]]; @@ -817,10 +816,15 @@ // Size [msg addObject: [[self sizeFormatter] stringForObjectValue: [message objectForKey: @"size"]]]; - // labels - [msg addObject: [message objectForKey: @"flags"]]; + // Mail labels / tags + tags = [NSMutableArray arrayWithArray: [message objectForKey: @"flags"]]; + [tags removeObject: @"deleted"]; + [tags removeObject: @"flaggged"]; + [tags removeObject: @"recent"]; + [tags removeObject: @"seen"]; + [msg addObject: tags]; - // uid + // UID [msg addObject: [message objectForKey: @"uid"]]; [headers addObject: msg]; diff --git a/UI/MailerUI/UIxMailMainFrame.m b/UI/MailerUI/UIxMailMainFrame.m index 1f9353b3d..6e22e4e6b 100644 --- a/UI/MailerUI/UIxMailMainFrame.m +++ b/UI/MailerUI/UIxMailMainFrame.m @@ -126,7 +126,6 @@ userNames = [accounts objectsForKey: @"userName" notFoundMarker: nil]; return [userNames jsonRepresentation]; - } - (NSString *) pageFormURL diff --git a/UI/Templates/MailerUI/UIxMailMainFrame.wox b/UI/Templates/MailerUI/UIxMailMainFrame.wox index 3110ea930..c418e5cda 100644 --- a/UI/Templates/MailerUI/UIxMailMainFrame.wox +++ b/UI/Templates/MailerUI/UIxMailMainFrame.wox @@ -7,7 +7,7 @@ xmlns:label="OGo:label" className="UIxPageFrame" title="title" - const:userDefaultsKeys="SOGoMailMessageCheck,SOGoRefreshViewCheck,SOGoMailSortByThreads,SOGoMailListViewColumnsOrder,SOGoMailDisplayRemoteInlineImages,SOGoMailComposeMessageType,SOGoMailReplyPlacement" + const:userDefaultsKeys="SOGoMailMessageCheck,SOGoRefreshViewCheck,SOGoMailSortByThreads,SOGoMailListViewColumnsOrder,SOGoMailDisplayRemoteInlineImages,SOGoMailComposeMessageType,SOGoMailReplyPlacement,SOGoMailLabelsColors" const:userSettingsKeys="Mail" const:jsFiles="Common/resource.js, Common/user-model.js, Common/acl-model.js, Contacts/card-model.js, Contacts/addressbook-model.js, Mailer/message-model.js, Mailer/mailbox-model.js, Mailer/account-model.js, vendor/ckeditor/ckeditor.js, vendor/ckeditor/ck.js, vendor/angular-file-upload.js">