From b6ac93ac8e772ce7220bde010daf33950c792575 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Fri, 5 Sep 2008 02:12:56 +0000 Subject: [PATCH] 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 @@ > 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; + } + });