From b2fb950fb58971a05d1c4d090132ab67afe6a6bd Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Mon, 28 May 2007 15:08:36 -0400
Subject: [PATCH] Prevent default events on subject link; fixed typo in smtp script

---
 program/js/list.js |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/program/js/list.js b/program/js/list.js
index 23a9c34..c4f0240 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -41,6 +41,7 @@
   this.dont_select = false;
   this.drag_active = false;
   this.last_selected = 0;
+  this.shift_start = 0;
   this.in_selection_before = false;
   this.focused = false;
   this.drag_mouse_start = null;
@@ -218,7 +219,7 @@
   if (this.draggable && this.selection.length)
   {
     this.drag_start = true;
-	this.drag_mouse_start = rcube_event.get_mouse_pos(e);
+    this.drag_mouse_start = rcube_event.get_mouse_pos(e);
     rcube_event.add_listener({element:document, event:'mousemove', object:this, method:'drag_mouse_move'});
     rcube_event.add_listener({element:document, event:'mouseup', object:this, method:'drag_mouse_up'});
   }
@@ -301,6 +302,9 @@
   var select_before = this.selection.join(',');
   if (!this.multiselect)
     mod_key = 0;
+    
+  if (!this.shift_start)
+    this.shift_start = id
 
   if (!mod_key)
   {
@@ -312,13 +316,12 @@
     switch (mod_key)
     {
       case SHIFT_KEY:
-        this.shift_select(id, false); 
+        this.shift_select(id, false);
         break;
 
       case CONTROL_KEY:
-        this.shift_start = id;
         if (!with_mouse)
-          this.highlight_row(id, true); 
+          this.highlight_row(id, true);
         break; 
 
       case CONTROL_SHIFT_KEY:
@@ -326,7 +329,7 @@
         break;
 
       default:
-        this.highlight_row(id, false); 
+        this.highlight_row(id, false);
         break;
     }
   }
@@ -337,6 +340,9 @@
 
   if (this.last_selected != 0 && this.rows[this.last_selected])
     this.set_classname(this.rows[this.last_selected].obj, 'focused', false);
+    
+  if (!this.selection.length)
+    this.shift_start = null;
 
   this.last_selected = id;
   this.set_classname(this.rows[id].obj, 'focused', true);        

--
Gitblit v1.9.1