From d24d208d1c9b952cc0c1fdcd1c30cb0150ad53ac Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Wed, 13 Feb 2008 02:43:33 -0500 Subject: [PATCH] Always use subject col when dragging messages --- program/js/list.js | 21 ++++++++++++++------- program/steps/mail/func.inc | 1 + program/js/app.js | 7 ++++++- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 07b42a5..20cd67b 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -146,6 +146,9 @@ else this.message_list.focus(); } + + if (this.env.coltypes) + this.set_message_coltypes(this.env.coltypes); // enable mail commands this.enable_command('list', 'checkmail', 'compose', 'add-contact', 'search', 'reset-search', true); @@ -3183,8 +3186,10 @@ cell.id = 'rcmHead'+col; } + + if (col == 'subject' && this.message_list) + this.message_list.subject_col = n+1; } - }; // create a table row in the message list diff --git a/program/js/list.js b/program/js/list.js index 3255c1a..b9750fa 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -32,8 +32,8 @@ this.rows = []; this.selection = []; + this.subject_col = -1; this.shiftkey = false; - this.multiselect = false; this.draggable = false; this.keyboard = false; @@ -618,7 +618,7 @@ // get subjects of selectedd messages var names = ''; - var c, node, subject, obj; + var c, i, node, subject, obj; for(var n=0; n<this.selection.length; n++) { if (n>12) // only show 12 lines @@ -632,13 +632,20 @@ obj = this.rows[this.selection[n]].obj; subject = ''; - for(c=0; c<obj.childNodes.length; c++) - if (obj.childNodes[c].nodeName=='TD' && (node = obj.childNodes[c].firstChild) && (node.nodeType==3 || node.nodeName=='A')) + for(c=0, i=0; i<obj.childNodes.length; i++) + { + if (obj.childNodes[i].nodeName == 'TD') { - subject = node.nodeType==3 ? node.data : node.innerHTML; - names += (subject.length > 50 ? subject.substring(0, 50)+'...' : subject) + '<br />'; - break; + if (((node = obj.childNodes[i].firstChild) && (node.nodeType==3 || node.nodeName=='A')) && + (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c))) + { + subject = node.nodeType==3 ? node.data : node.innerHTML; + names += (subject.length > 50 ? subject.substring(0, 50)+'...' : subject) + '<br />'; + break; + } + c++; } + } } } diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index b0d6417..6bee814 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -290,6 +290,7 @@ $OUTPUT->set_env('attachmenticon', $skin_path . $attrib['attachmenticon']); $OUTPUT->set_env('messages', $a_js_message_arr); + $OUTPUT->set_env('coltypes', $a_show_cols); $OUTPUT->include_script('list.js'); -- Gitblit v1.9.1