From bcc6384c798865e4d89d8c2031efe9c281d6db81 Mon Sep 17 00:00:00 2001 From: C Robert Date: Wed, 19 Aug 2009 19:47:31 +0000 Subject: [PATCH] Monotone-Parent: 87900b7c90887e5048e78bcaa1e722ea0e1ebfe5 Monotone-Revision: 1720cf251b5e03b7d77aadbba2e8a9b52b80ce5a Monotone-Author: crobert@inverse.ca Monotone-Date: 2009-08-19T19:47:31 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++ UI/MailerUI/UIxMailActions.m | 31 +++++++++++++ UI/MailerUI/UIxMailListView.m | 6 +-- UI/MailerUI/UIxMailMainFrame.m | 2 +- UI/MailerUI/product.plist | 10 ++++ UI/Templates/MailerUI/UIxMailListView.wox | 16 +++---- UI/WebServerResources/MailerUI.js | 56 ++++++++++++++++++++++- 7 files changed, 112 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index e9592acfe..b53392105 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,10 @@ * UI/Scheduler/UIxCalMainView.m (checkDefaultModulePreference): Added to support "Last" SOGoUIxDefaultModule value. * UI/MailerUI/UIxMailListView.m (isMessageFlagged): Added for Mantis 1428 + * UI/MailerUI/UIxMailActions.m (markMessageFlaggedAction, + markMessageUnflaggedAction): Added to support flagging + * UI/MailerUI/UIxMailListView.m: Renamed Invisible to Flagged + * UI/MailerUI/UIxMailMainFrame.m: Renamed Invisible to Flagged 2009-08-19 Wolfgang Sourdeau diff --git a/UI/MailerUI/UIxMailActions.m b/UI/MailerUI/UIxMailActions.m index e38483a7e..e4a2cf72f 100644 --- a/UI/MailerUI/UIxMailActions.m +++ b/UI/MailerUI/UIxMailActions.m @@ -91,6 +91,37 @@ /* active message */ +- (id) markMessageUnflaggedAction +{ + id response; + SOGoMailFolder *mailFolder; + + response = [[self clientObject] removeFlags: @"\\Flagged"]; + if (!response) + { + mailFolder = [[self clientObject] container]; + response = [self responseWith204]; + } + + return response; +} + +- (id) markMessageFlaggedAction +{ + id response; + SOGoMailFolder *mailFolder; + + response = [[self clientObject] addFlags: @"\\Flagged"]; + if (!response) + { + mailFolder = [[self clientObject] container]; + response = [self responseWith204]; + } + + return response; +} + + - (id) markMessageUnreadAction { id response; diff --git a/UI/MailerUI/UIxMailListView.m b/UI/MailerUI/UIxMailListView.m index 7fc5b6409..1e3315e37 100644 --- a/UI/MailerUI/UIxMailListView.m +++ b/UI/MailerUI/UIxMailListView.m @@ -755,10 +755,10 @@ tmpColumns = [NSArray arrayWithObjects: @"tbtv_headercell messageFlagColumn", - @"invisibleHeader", @"Invisible", nil]; + @"invisibleHeader", @"Flagged", nil]; [columnsMetaData setObject: [NSDictionary dictionaryWithObjects: tmpColumns forKeys: tmpKeys] - forKey: @"Invisible"]; + forKey: @"Flagged"]; tmpColumns = [NSArray arrayWithObjects: @"tbtv_headercell messageFlagColumn", @@ -823,7 +823,7 @@ defaultsOrder = [[NSUserDefaults standardUserDefaults] arrayForKey: @"SOGoMailListViewColumnsOrder"]; if (![defaultsOrder count]) - defaultsOrder = [NSArray arrayWithObjects: @"Invisible", + defaultsOrder = [NSArray arrayWithObjects: @"Flagged", @"Attachment", @"Subject", @"From", @"Unread", @"Date", @"Priority", @"Size", nil]; } diff --git a/UI/MailerUI/UIxMailMainFrame.m b/UI/MailerUI/UIxMailMainFrame.m index 86710fbde..af8277ea5 100644 --- a/UI/MailerUI/UIxMailMainFrame.m +++ b/UI/MailerUI/UIxMailMainFrame.m @@ -100,7 +100,7 @@ defaultColumnsOrder = [NSArray arrayWithArray: [sud arrayForKey: @"SOGoMailListViewColumnsOrder"]]; if ( [defaultColumnsOrder count] == 0 ) { - defaultColumnsOrder = [NSArray arrayWithObjects: @"Invisible", @"Attachment", @"Subject", + defaultColumnsOrder = [NSArray arrayWithObjects: @"Flagged", @"Attachment", @"Subject", @"From", @"Unread", @"Date", @"Priority", nil]; } diff --git a/UI/MailerUI/product.plist b/UI/MailerUI/product.plist index b54e10d12..fc31aac67 100644 --- a/UI/MailerUI/product.plist +++ b/UI/MailerUI/product.plist @@ -246,6 +246,16 @@ actionClass = "UIxMailActions"; actionName = "forward"; }; + markMessageUnflagged = { + protectedBy = "View"; + actionClass = "UIxMailActions"; + actionName = "markMessageUnflagged"; + }; + markMessageFlagged = { + protectedBy = "View"; + actionClass = "UIxMailActions"; + actionName = "markMessageFlagged"; + }; markMessageUnread = { protectedBy = "View"; actionClass = "UIxMailActions"; diff --git a/UI/Templates/MailerUI/UIxMailListView.wox b/UI/Templates/MailerUI/UIxMailListView.wox index 56dfaf40a..dc59caeda 100644 --- a/UI/Templates/MailerUI/UIxMailListView.wox +++ b/UI/Templates/MailerUI/UIxMailListView.wox @@ -10,7 +10,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -65,15 +65,15 @@ ((.*\n)*.*)<\/p>(.*\n)*.*$/, "$2"); log("messageListCallback: problem during ajax request (readyState = " + http.readyState + ", status = " + http.status + ", response = " + msg + ")"); } + initFlagIcons (); } function getStatusFolders() { @@ -1406,6 +1454,12 @@ function openInbox(node) { mailboxTree.o(1); } +function initFlagIcons () { + var icons = $$("TABLE#messageList TBODY TR.mailer_listcell_regular TD.messageFlag"); + for (var i = 0; i < icons.length; i++) + icons[i].onclick = mailListFlagMessageToggle; +} + function initMailer(event) { if (!$(document.body).hasClassName("popup")) { //initDnd();