Re-re-fixed the header columns bug

Monotone-Parent: 37b0203e2cc332fa2bf9c9c6fa34fc682adcb427
Monotone-Revision: 72682eea27a61c6fe055d0c7ed1767dee836aa28

Monotone-Author: crobert@inverse.ca
Monotone-Date: 2008-10-14T16:50:39
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
C Robert
2008-10-14 16:50:39 +00:00
parent a3b58a2c7d
commit 108cb845c7
2 changed files with 28 additions and 6 deletions

View File

@@ -682,7 +682,8 @@
userDefinedOrder = [NSArray arrayWithArray: [ud arrayForKey: @"SOGoMailListViewColumnsOrder"]];
if ( [userDefinedOrder count] == 0 )
{
userDefinedOrder = [[NSUserDefaults standardUserDefaults] arrayForKey: @"SOGoMailListViewColumnsOrder"];
userDefinedOrder = [NSMutableArray arrayWithArray:
[[NSUserDefaults standardUserDefaults] arrayForKey: @"SOGoMailListViewColumnsOrder"]];
}
if ( [userDefinedOrder count] == 0 )
{
@@ -698,6 +699,15 @@
[userDefinedOrder replaceObjectAtIndex:i withObject:@"To"];
}
}
else
{
i = [userDefinedOrder indexOfObject:@"To"];
if ( i >= 0 && i < [userDefinedOrder count] )
{
[userDefinedOrder replaceObjectAtIndex:i withObject:@"From"];
}
}
columnsMetaData = [self columnsMetaData];
columnsDisplayOrder = [NSMutableArray array];

View File

@@ -566,24 +566,36 @@ function openMailboxAtIndex(event) {
function messageListCallback(http) {
var div = $('mailboxContent');
var table = $('messageList');
var columnsOrder = userSettings["SOGoMailListViewColumnsOrder"];
if ( typeof(columnsOrder) == "undefined" ) {
columnsOrder = defaultColumnsOrder;
}
var addrIndex = 3;
for(var i=0; i<columnsOrder.length; i++) {
if (columnsOrder[i] == "From" || columnsOrder[i] == "To") {
addrIndex = i;
}
}
if (http.status == 200) {
document.messageListAjaxRequest = null;
if (table) {
// Update table
var thead = table.tHead;
var addressHeaderCell = thead.rows[0].cells[3];
var addressHeaderCell = thead.rows[0].cells[addrIndex];
var tbody = table.tBodies[0];
var tmp = document.createElement('div');
$(tmp).update(http.responseText);
var newRows = tmp.firstChild.tHead.rows;
thead.rows[1].parentNode.replaceChild(newRows[1], thead.rows[1]);
addressHeaderCell.replaceChild(newRows[0].cells[3].lastChild,
addressHeaderCell.replaceChild(newRows[0].cells[addrIndex].lastChild,
addressHeaderCell.lastChild);
addressHeaderCell.setAttribute("id", newRows[0].cells[3].getAttribute("id"));
addressHeaderCell.setAttribute("id", newRows[0].cells[addrIndex].getAttribute("id"));
table.replaceChild(tmp.firstChild.tBodies[0], tbody);
configureMessageListEvents(table);
}
else {
// Add table
@@ -1335,7 +1347,7 @@ function configureMessageListBodyEvents(table) {
var cell = $(row.cells[j]);
var cellType = columnsOrder[j];
cell.observe("mousedown", listRowMouseDownHandler);
if (cellType == "Subject" || cellType == "From" || cellType == "Date")
if (cellType == "Subject" || cellType == "From" || cellType == "To" || cellType == "Date")
cell.observe("dblclick", onMessageDoubleClick.bindAsEventListener(cell));
else if (cellType == "Unread") {
var img = $(cell.childNodesWithTag("img")[0]);