From d7c226ca1bbab8bcf994d9f4c921178beef81ba7 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 02 Apr 2008 10:20:16 -0400
Subject: [PATCH] http://trac.roundcube.net/ticket/1484838

---
 program/js/list.js |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/program/js/list.js b/program/js/list.js
index b9750fa..02c872f 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;
@@ -207,12 +208,12 @@
  */
 drag_row: function(e, id)
 {
-  this.in_selection_before = this.in_selection(id) ? id : false;
-
   // don't do anything (another action processed before)
   var evtarget = rcube_event.get_target(e);
   if (this.dont_select || (evtarget && (evtarget.tagName == 'INPUT' || evtarget.tagName == 'IMG')))
     return false;
+
+  this.in_selection_before = this.in_selection(id) ? id : false;
 
   // selects currently unselected row
   if (!this.in_selection_before)
@@ -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
@@ -456,6 +459,8 @@
   if (this.selection.join(',') != select_before)
     this.trigger_event('select');
 
+  this.focus();
+
   return true;
 },
 

--
Gitblit v1.9.1