From cd45df0b75458a771b2b302cd400bd5bb02eb8ba Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 5 Sep 2008 00:19:21 +0000 Subject: [PATCH 1/6] Monotone-Parent: 485f88abf48cd4cfca19756b2d50e4d01f48ed95 Monotone-Revision: 16389bba889c23c9a03ac425c27e5f4ede0fc4fd Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-09-05T00:19:21 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ UI/MailPartViewers/UIxMailRenderingContext.m | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2292cf557..aa67efedd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2008-09-04 Wolfgang Sourdeau + * UI/MailPartViewers/UIxMailRenderingContext.m + ([UIxMailRenderingContext -viewerForBodyInfo:_info]): add the + mixed viewer as the viewer for "multipart/digest" content. + * UI/MailPartViewers/UIxMailPartTextViewer.m (convertChars): fixed a buffer overflow. Incremented the buffer size to 8192. diff --git a/UI/MailPartViewers/UIxMailRenderingContext.m b/UI/MailPartViewers/UIxMailRenderingContext.m index bcc7a26fe..766b0e24c 100644 --- a/UI/MailPartViewers/UIxMailRenderingContext.m +++ b/UI/MailPartViewers/UIxMailRenderingContext.m @@ -208,7 +208,10 @@ static BOOL showNamedTextAttachmentsInline = NO; if ([mt isEqualToString:@"multipart"]) { - if ([st isEqualToString:@"mixed"] || [st isEqualToString:@"related"] || [st isEqualToString: @"appledouble"]) + if ([st isEqualToString:@"mixed"] + || [st isEqualToString:@"digest"] + || [st isEqualToString:@"related"] + || [st isEqualToString: @"appledouble"]) return [self mixedViewer]; else if ([st isEqualToString:@"signed"]) return [self signedViewer]; From ed9ebe829d8ba05dc4d9f6d5d9bba4c443771b24 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 5 Sep 2008 01:39:32 +0000 Subject: [PATCH 2/6] Monotone-Parent: 16389bba889c23c9a03ac425c27e5f4ede0fc4fd Monotone-Revision: a0736ebfe97dd1ff5f02d3f1a6f20c4e5c593b0c Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-09-05T01:39:32 Monotone-Branch: ca.inverse.sogo --- UI/Templates/MailerUI/UIxMailListView.wox | 13 +++++++------ UI/WebServerResources/MailerUI.js | 12 ++++++++---- UI/WebServerResources/generic.js | 4 ++-- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/UI/Templates/MailerUI/UIxMailListView.wox b/UI/Templates/MailerUI/UIxMailListView.wox index a0dec12e6..9129c694e 100644 --- a/UI/Templates/MailerUI/UIxMailListView.wox +++ b/UI/Templates/MailerUI/UIxMailListView.wox @@ -1,6 +1,6 @@ - diff --git a/UI/Templates/UIxPageFrame.wox b/UI/Templates/UIxPageFrame.wox index 3beb3e2cb..f6ef14fa0 100644 --- a/UI/Templates/UIxPageFrame.wox +++ b/UI/Templates/UIxPageFrame.wox @@ -118,6 +118,7 @@ + diff --git a/UI/WebServerResources/MailerUI.css b/UI/WebServerResources/MailerUI.css index c679fea57..ff2be8974 100644 --- a/UI/WebServerResources/MailerUI.css +++ b/UI/WebServerResources/MailerUI.css @@ -236,11 +236,6 @@ DIV#folderTreeContent TABLE TD /* mail tableview */ -span.mailer_datefield -{ - white-space: nowrap; -} - TD.mailer_readmailsubject { padding-left: 20px !important; @@ -421,7 +416,8 @@ TD.mailer_fieldvalue a } TR.deleted TD -{ text-decoration: line-through; } +{ display: none; + /* text-decoration: line-through; -- alternative display */ } img.mailer_imagecontent { diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index 0e076687d..fa8024918 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -238,15 +238,16 @@ function onDocumentKeydown(event) { function deleteSelectedMessages(sender) { var messageList = $("messageList"); - var rowIds = messageList.getSelectedRowsId(); - - if (rowIds.length > 0) { - for (var i = 0; i < rowIds.length; i++) { + var rows = messageList.down("TBODY").getSelectedNodes(); + + if (rows.length > 0) { + for (var i = 0; i < rows.length; i++) { var url; - var rowId = rowIds[i].substr(4); + var rowId = rows[i].readAttribute("id").substr(4); var messageId = Mailer.currentMailbox + "/" + rowId; url = ApplicationBaseURL + messageId + "/trash"; deleteMessageRequestCount++; + rows[i].addClassName("deleted"); var data = { "id": rowId, "mailbox": Mailer.currentMailbox, "messageId": messageId }; triggerAjaxRequest(url, deleteSelectedMessagesCallback, data); } @@ -268,16 +269,15 @@ function deleteSelectedMessagesCallback(http) { div.update(); Mailer.currentMessages[Mailer.currentMailbox] = null; } - - var row = $("row_" + data["id"]); - var nextRow = row.next("tr"); - if (!nextRow) - nextRow = row.previous("tr"); - // row.addClassName("deleted"); // when we'll offer "mark as deleted" - if (deleteMessageRequestCount == 0) { + var row = $("row_" + data["id"]); + var nextRow = row.next("tr"); + if (!nextRow) + nextRow = row.previous("tr"); + // row.addClassName("deleted"); // when we'll offer "mark as deleted" if (nextRow) { Mailer.currentMessages[Mailer.currentMailbox] = nextRow.getAttribute("id").substr(4); + nextRow.selectElement(); loadMessage(Mailer.currentMessages[Mailer.currentMailbox]); } refreshCurrentFolder(); @@ -563,9 +563,8 @@ function messageListCallback(http) { row.selectElement(); lastClickedRow = row.rowIndex - $(row).up('table').down('thead').getElementsByTagName('tr').length; var rowPosition = row.rowIndex * row.getHeight(); - if ($(row).up('div').getHeight() > rowPosition) - rowPosition = 0; - div.scrollTop = rowPosition; // scroll to selected message + if (rowPosition > div.getHeight()) + div.scrollTop = rowPosition; // scroll to selected message } else $("messageContent").update(); @@ -1236,10 +1235,10 @@ function configureMessageListBodyEvents(table) { row.observe("selectstart", listRowMouseDownHandler); row.observe("contextmenu", onMessageContextMenu); - row.dndTypes = function() { return new Array("mailRow"); }; - row.dndGhost = messageListGhost; - row.dndDataForType = messageListData; - // document.DNDManager.registerSource(row); + //row.dndTypes = function() { return new Array("mailRow"); }; + //row.dndGhost = messageListGhost; + //row.dndDataForType = messageListData; + //document.DNDManager.registerSource(row); for (var j = 0; j < row.cells.length; j++) { var cell = $(row.cells[j]); diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index dc793333f..933e2229f 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -564,11 +564,13 @@ function onRowClick(event) { if (isMac() && isSafari()) if (event.ctrlKey == 1) isLeftClick = false; // Control-click is equivalent to right-click under Mac OS X + else if (event.metaKey == 1) // Command-click + isLeftClick = true; else isLeftClick = Event.isLeftClick(event); else isLeftClick = Event.isLeftClick(event); - + if (initialSelection.length > 0 && initialSelection.indexOf(node) >= 0 && !isLeftClick) diff --git a/UI/WebServerResources/tablekit-sogo.js b/UI/WebServerResources/tablekit-sogo.js new file mode 100644 index 000000000..d599ef0b4 --- /dev/null +++ b/UI/WebServerResources/tablekit-sogo.js @@ -0,0 +1,11 @@ +Object.extend(TableKit, { + getHeaderCells : function(table, cell) { + if(!table) { table = $(cell).up('table'); } + var id = table.id; + if(!TableKit.tables[id].dom.head) { + // If there are tHead parts, use the first part, not the last one. + TableKit.tables[id].dom.head = $A((table.tHead && table.tHead.rows.length > 0) ? table.tHead.rows[0].cells : table.rows[0].cells); + } + return TableKit.tables[id].dom.head; + } + }); From 4eac9ac1e39bbbc8f96a654513594c1a9141d6bf Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 5 Sep 2008 02:38:51 +0000 Subject: [PATCH 5/6] Monotone-Parent: 6ea404f36c9613aee16746663a599b51a421006c Monotone-Revision: 721baf81426a46990c5c456d170347f03f502d1f Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-09-05T02:38:51 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ UI/MailPartViewers/UIxMailPartAlternativeViewer.m | 2 ++ 2 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index aa67efedd..2c3b81d5e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2008-09-04 Wolfgang Sourdeau + * UI/MailPartViewers/UIxMailPartAlternativeViewer.m + ([UIxMailPartAlternativeViewer -selectPartIndexFromTypes:]): give + precedence on multipart/related parts. + * UI/MailPartViewers/UIxMailRenderingContext.m ([UIxMailRenderingContext -viewerForBodyInfo:_info]): add the mixed viewer as the viewer for "multipart/digest" content. diff --git a/UI/MailPartViewers/UIxMailPartAlternativeViewer.m b/UI/MailPartViewers/UIxMailPartAlternativeViewer.m index 72ed9b3a0..cf66d6ee9 100644 --- a/UI/MailPartViewers/UIxMailPartAlternativeViewer.m +++ b/UI/MailPartViewers/UIxMailPartAlternativeViewer.m @@ -92,6 +92,8 @@ if ((count = [_types count]) == 0) return NSNotFound; + if ((i = [_types indexOfObject:@"multipart/related"]) != NSNotFound) + return i; if ((i = [_types indexOfObject:@"text/calendar"]) != NSNotFound) return i; if ((i = [_types indexOfObject:@"text/html"]) != NSNotFound) From 721d3fc61bbc50935dc76e825713c316424c285e Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 5 Sep 2008 03:00:10 +0000 Subject: [PATCH 6/6] Monotone-Parent: b68bf00d72134acbc6e4d38e8249c1c370f4da8d Monotone-Revision: 2c72d8da724d85fd836b547156f6c653ebb44991 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-09-05T03:00:10 Monotone-Branch: ca.inverse.sogo --- UI/Templates/MailerUI/UIxMailListView.wox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UI/Templates/MailerUI/UIxMailListView.wox b/UI/Templates/MailerUI/UIxMailListView.wox index 30dc89047..6b32ac391 100644 --- a/UI/Templates/MailerUI/UIxMailListView.wox +++ b/UI/Templates/MailerUI/UIxMailListView.wox @@ -1,6 +1,6 @@ -
Date: Fri, 5 Sep 2008 01:58:52 +0000 Subject: [PATCH 3/6] Monotone-Parent: a0736ebfe97dd1ff5f02d3f1a6f20c4e5c593b0c Monotone-Revision: 6ea404f36c9613aee16746663a599b51a421006c Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-09-05T01:58:52 Monotone-Branch: ca.inverse.sogo --- UI/MailPartViewers/UIxMailRenderingContext.m | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/UI/MailPartViewers/UIxMailRenderingContext.m b/UI/MailPartViewers/UIxMailRenderingContext.m index 766b0e24c..38e3cd218 100644 --- a/UI/MailPartViewers/UIxMailRenderingContext.m +++ b/UI/MailPartViewers/UIxMailRenderingContext.m @@ -208,14 +208,14 @@ static BOOL showNamedTextAttachmentsInline = NO; if ([mt isEqualToString:@"multipart"]) { - if ([st isEqualToString:@"mixed"] - || [st isEqualToString:@"digest"] - || [st isEqualToString:@"related"] + if ([st isEqualToString: @"mixed"] + || [st isEqualToString: @"digest"] + || [st isEqualToString: @"related"] || [st isEqualToString: @"appledouble"]) return [self mixedViewer]; - else if ([st isEqualToString:@"signed"]) + else if ([st isEqualToString: @"signed"]) return [self signedViewer]; - else if ([st isEqualToString:@"alternative"]) + else if ([st isEqualToString: @"alternative"]) return [self alternativeViewer]; if ([st isEqualToString:@"report"]) From b6ac93ac8e772ce7220bde010daf33950c792575 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 5 Sep 2008 02:12:56 +0000 Subject: [PATCH 4/6] Fix for bug #2896 Monotone-Parent: a0736ebfe97dd1ff5f02d3f1a6f20c4e5c593b0c Monotone-Revision: c4c5e180ad8506d04424626e6382fcd5b2b6a073 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2008-09-05T02:12:56 Monotone-Branch: ca.inverse.sogo --- UI/Templates/MailerUI/UIxMailListView.wox | 6 ++-- UI/Templates/UIxPageFrame.wox | 1 + UI/WebServerResources/MailerUI.css | 8 ++--- UI/WebServerResources/MailerUI.js | 37 +++++++++++------------ UI/WebServerResources/generic.js | 4 ++- UI/WebServerResources/tablekit-sogo.js | 11 +++++++ 6 files changed, 37 insertions(+), 30 deletions(-) create mode 100644 UI/WebServerResources/tablekit-sogo.js diff --git a/UI/Templates/MailerUI/UIxMailListView.wox b/UI/Templates/MailerUI/UIxMailListView.wox index 9129c694e..30dc89047 100644 --- a/UI/Templates/MailerUI/UIxMailListView.wox +++ b/UI/Templates/MailerUI/UIxMailListView.wox @@ -104,10 +104,8 @@ >