From 21168d21cc75f6ccf79416e76b8e52f78afae181 Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Mon, 31 Mar 2008 10:49:54 -0400
Subject: [PATCH] Don't preview message if dragging or multi-selecting it, closes #1484316.

---
 program/js/list.js |    3 +++
 program/js/app.js  |    3 ++-
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index a20a699..6e01dac 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -133,6 +133,7 @@
           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 @@
       }
 
     // 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 e42d3f6..8ff0b2d 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -35,6 +35,7 @@
   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 @@
   {
     this.shift_start = id;
     this.highlight_row(id, false);
+    this.multi_selecting = false;
   }
   else
   {
@@ -341,6 +343,7 @@
         this.highlight_row(id, false);
         break;
     }
+    this.multi_selecting = true;
   }
 
   // trigger event if selection changed

--
Gitblit v1.9.1