summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2008-02-13 07:43:33 +0000
committerthomascube <thomas@roundcube.net>2008-02-13 07:43:33 +0000
commitd24d208d1c9b952cc0c1fdcd1c30cb0150ad53ac (patch)
tree6cfbadfb8c516ebba4073be104a07774ccb1e60e
parent847bfe697f925f90577f2d3f135f579e6e08c9ea (diff)
Always use subject col when dragging messages
-rw-r--r--program/js/app.js7
-rw-r--r--program/js/list.js21
-rw-r--r--program/steps/mail/func.inc1
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');