diff --git a/program/js/app.js b/program/js/app.js index a20a699ff..6e01dac9a 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -133,6 +133,7 @@ function rcube_webmail() this.message_list.addEventListener('keypress', function(o){ p.msglist_keypress(o); }); this.message_list.addEventListener('select', function(o){ p.msglist_select(o); }); this.message_list.addEventListener('dragstart', function(o){ p.drag_active = true; }); + this.message_list.addEventListener('dragstart', function(o){ p.drag_active = true; if (p.preview_timer) clearTimeout(p.preview_timer); }); this.message_list.addEventListener('dragend', function(o){ p.drag_active = false; }); this.message_list.init(); @@ -1138,7 +1139,7 @@ function rcube_webmail() } // start timer for message preview (wait for double click) - if (selected && this.env.contentframe) + if (selected && this.env.contentframe && !list.multi_selecting) this.preview_timer = setTimeout(function(){ ref.msglist_get_preview(); }, this.dblclick_time + 10); else if (this.env.contentframe) this.show_contentframe(false); diff --git a/program/js/list.js b/program/js/list.js index e42d3f6b7..8ff0b2ddd 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -35,6 +35,7 @@ function rcube_list_widget(list, p) this.subject_col = -1; this.shiftkey = false; this.multiselect = false; + this.multi_selecting = false; this.draggable = false; this.keyboard = false; this.toggleselect = false; @@ -319,6 +320,7 @@ select_row: function(id, mod_key, with_mouse) { this.shift_start = id; this.highlight_row(id, false); + this.multi_selecting = false; } else { @@ -341,6 +343,7 @@ select_row: function(id, mod_key, with_mouse) this.highlight_row(id, false); break; } + this.multi_selecting = true; } // trigger event if selection changed