diff options
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/app.js | 7 | ||||
-rw-r--r-- | program/js/list.js | 21 |
2 files changed, 20 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++; } + } } } |