From 92cd7f34b07e86062f2c024039e3309768b48ce6 Mon Sep 17 00:00:00 2001
From: Andy Wermke <andy@dev.next-step-software.com>
Date: Thu, 04 Apr 2013 10:10:23 -0400
Subject: [PATCH] Merge branch 'master' of https://github.com/roundcube/roundcubemail

---
 program/js/list.js |   43 ++++++++++++++++++++-----------------------
 1 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/program/js/list.js b/program/js/list.js
index 660b74d..8b4857d 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -3,7 +3,7 @@
  | Roundcube List Widget                                                 |
  |                                                                       |
  | This file is part of the Roundcube Webmail client                     |
- | Copyright (C) 2006-2009, The Roundcube Dev Team                       |
+ | Copyright (C) 2006-2013, The Roundcube Dev Team                       |
  |                                                                       |
  | Licensed under the GNU General Public License version 3 or            |
  | any later version with exceptions for skins & plugins.                |
@@ -434,6 +434,7 @@
     new_row = new_row.nextSibling;
   }
 
+  this.triggerEvent('listupdate');
   return false;
 },
 
@@ -481,6 +482,7 @@
     new_row = new_row.nextSibling;
   }
 
+  this.triggerEvent('listupdate');
   return false;
 },
 
@@ -523,6 +525,7 @@
     new_row = new_row.nextSibling;
   }
 
+  this.triggerEvent('listupdate');
   return false;
 },
 
@@ -559,6 +562,8 @@
     }
     new_row = new_row.nextSibling;
   }
+
+  this.triggerEvent('listupdate');
   return false;
 },
 
@@ -687,6 +692,7 @@
     this.shift_start = null;
 
   this.last_selected = id;
+  this.list.focus();
 },
 
 
@@ -1138,7 +1144,7 @@
     this.draglayer.html('');
 
     // get subjects of selected messages
-    var c, i, n, subject, obj;
+    var i, n, obj;
     for (n=0; n<this.selection.length; n++) {
       // only show 12 lines
       if (n>12) {
@@ -1147,35 +1153,26 @@
       }
 
       if (obj = this.rows[this.selection[n]].obj) {
-        subject = '';
-
-        for (c=0, i=0; i<obj.childNodes.length; i++) {
-	      if (obj.childNodes[i].nodeName == 'TD') {
+        for (i=0; i<obj.childNodes.length; i++) {
+          if (obj.childNodes[i].nodeName == 'TD') {
             if (n == 0)
-	          this.drag_start_pos = $(obj.childNodes[i]).offset();
+              this.drag_start_pos = $(obj.childNodes[i]).offset();
 
-	        if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == c)) {
-	          var entry, node, tmp_node, nodes = obj.childNodes[i].childNodes;
-	          // find text node
-	          for (m=0; m<nodes.length; m++) {
-	            if ((tmp_node = obj.childNodes[i].childNodes[m]) && (tmp_node.nodeType==3 || tmp_node.nodeName=='A'))
-	              node = tmp_node;
-	          }
+            if (this.subject_col < 0 || (this.subject_col >= 0 && this.subject_col == i)) {
+              var subject = $(obj.childNodes[i]).text();
 
-	          if (!node)
-	            break;
+              if (!subject)
+                break;
 
-              subject = $(node).text();
-	          // remove leading spaces
+              // remove leading spaces
               subject = $.trim(subject);
               // truncate line to 50 characters
               subject = (subject.length > 50 ? subject.substring(0, 50) + '...' : subject);
 
-              entry = $('<div>').text(subject);
-	          this.draglayer.append(entry);
+              var entry = $('<div>').text(subject);
+              this.draglayer.append(entry);
               break;
             }
-            c++;
           }
         }
       }
@@ -1232,7 +1229,7 @@
   // remove temp divs
   this.del_dragfix();
 
-  this.triggerEvent('dragend');
+  this.triggerEvent('dragend', e);
 
   return rcube_event.cancel(e);
 },
@@ -1345,7 +1342,7 @@
     }
   }
 
-  this.triggerEvent('column_dragend');
+  this.triggerEvent('column_dragend', e);
 
   return rcube_event.cancel(e);
 },

--
Gitblit v1.9.1