diff options
author | thomascube <thomas@roundcube.net> | 2008-02-13 07:43:33 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2008-02-13 07:43:33 +0000 |
commit | d24d208d1c9b952cc0c1fdcd1c30cb0150ad53ac (patch) | |
tree | 6cfbadfb8c516ebba4073be104a07774ccb1e60e | |
parent | 847bfe697f925f90577f2d3f135f579e6e08c9ea (diff) |
Always use subject col when dragging messages
-rw-r--r-- | program/js/app.js | 7 | ||||
-rw-r--r-- | program/js/list.js | 21 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 1 |
3 files changed, 21 insertions, 8 deletions
diff --git a/program/js/app.js b/program/js/app.js index 07b42a5f5..20cd67b2c 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -146,6 +146,9 @@ function rcube_webmail() 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 @@ function rcube_webmail() 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 3255c1a3f..b9750fa47 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -32,8 +32,8 @@ function rcube_list_widget(list, p) this.rows = []; this.selection = []; + this.subject_col = -1; this.shiftkey = false; - this.multiselect = false; this.draggable = false; this.keyboard = false; @@ -618,7 +618,7 @@ drag_mouse_move: function(e) // 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 @@ drag_mouse_move: function(e) 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 b0d641778..6bee8147c 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -290,6 +290,7 @@ function rcmail_message_list($attrib) $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'); |