Use Effects queue
authorMichael M Slusarz <slusarz@curecanti.org>
Wed, 11 Feb 2009 06:55:41 +0000 (23:55 -0700)
committerMichael M Slusarz <slusarz@curecanti.org>
Wed, 11 Feb 2009 08:05:53 +0000 (01:05 -0700)
Prevents problems if users click on effects elements too quickly.

imp/docs/CHANGES
imp/js/src/DimpBase.js
imp/js/src/DimpCore.js

index 904ec88..39d2408 100644 (file)
@@ -2,6 +2,8 @@
 v5.0-git
 --------
 
+[mms] Use effects queue to prevent issues with users clicking on effects
+      elements too quickly.
 [mms] Trim leading/trailing whitespace from reply text.
 [mms] Add full IMAP message flagging capabilities to DIMP.
 [mms] Decode IDN (RFC 3490) names in addresses (Request #5836).
@@ -2250,13 +2252,13 @@ Updated lynx pages so lynx works again with IMP
 OLD DIMP CHANGELOG
 ==================
 
-----------
-v1.1.1-cvs
-----------
+------
+v1.1.1
+------
 
 [mms] Shift-Delete on multiple messages will move selection to next message
       (Request #7533).
-[mms] Fix occasional buggy behavior when drag/drop folders (Bug #7414).
+[mms] Fix occasional buggy behavior with drag/drop folders (Bug #7414).
 [mms] The UP key will start at the bottom of the mailbox, if no current
       message is selected (Request #7532).
 [mms] Add 'undelete' to Other Actions menu (Bug #7496).
index e2c1af1..ee0389f 100644 (file)
@@ -1864,7 +1864,7 @@ var DimpBase = {
     _toggleSubFolder: function(base, mode)
     {
         base = $(base);
-        var opts = { duration: 0.2 },
+        var opts = { duration: 0.2, queue: { position: 'end', scope: 'subfolder', limit: 2} },
             s = $(this.getSubFolderId(base.id));
         if (s &&
             (mode == 'tog' ||
index 76c4da2..2ea29ed 100644 (file)
@@ -295,7 +295,7 @@ DimpCore = {
     {
         var alink = $('alertsloglink').down('A'),
             div = $('alertslog').down('DIV'),
-            opts = { duration: 0.5 };
+            opts = { duration: 0.5, queue: { position: 'end', scope: 'alertslog', limit: 2} };
 
         if (div.visible()) {
             Effect.BlindUp(div, opts);
@@ -446,7 +446,7 @@ DimpCore = {
             return;
         }
 
-        var elt = e.element(), id, tmp;
+        var elt = e.element(), id, opts, tmp;
 
         if (this.alertrequest) {
             this.alertsFade(this.alertrequest);
@@ -460,10 +460,11 @@ DimpCore = {
             case 'partlist_toggle':
                 tmp = $('partlist');
                 $('partlist_col', 'partlist_exp').invoke('toggle');
+                opts = { duration: 0.2, queue: { position: 'end', scope: 'partlist', limit: 2 } };
                 if (tmp.visible()) {
-                    Effect.BlindUp(tmp, { duration: 0.2 });
+                    Effect.BlindUp(tmp, opts);
                 } else {
-                    Effect.BlindDown(tmp, { duration: 0.2 });
+                    Effect.BlindDown(tmp, opts);
                 }
                 e.stop();
                 return;