From db0408a2b8ceb0c8956f1ad41aae0752da6e1f14 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 04 Aug 2011 03:36:19 -0400
Subject: [PATCH] - Make that reset-search resets also pending searches  

---
 program/js/app.js |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index 1c35ad0..66cae80 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -992,14 +992,14 @@
 
       // reset quicksearch
       case 'reset-search':
-        var s = this.env.search_request;
+        var n, s = this.env.search_request || this.env.qsearch;
         this.reset_qsearch();
 
         if (s && this.env.mailbox)
           this.list_mailbox(this.env.mailbox);
         else if (s && this.task == 'addressbook') {
           if (this.env.source == '') {
-            for (var n in this.env.address_sources) break;
+            for (n in this.env.address_sources) break;
             this.env.source = n;
             this.env.group = '';
           }
@@ -3394,7 +3394,7 @@
   this.qsearch = function(value)
   {
     if (value != '') {
-      var n, addurl = '', mods_arr = [],
+      var n, r, addurl = '', mods_arr = [],
         mods = this.env.search_mods,
         mbox = this.env.mailbox,
         lock = this.set_busy(true, 'searching');
@@ -3418,13 +3418,14 @@
 
       // reset vars
       this.env.current_page = 1;
-      this.http_request('search', '_q='+urlencode(value)
+      r = this.http_request('search', '_q='+urlencode(value)
         + (mbox ? '&_mbox='+urlencode(mbox) : '')
         + (this.env.source ? '&_source='+urlencode(this.env.source) : '')
         + (this.env.group ? '&_gid='+urlencode(this.env.group) : '')
         + (addurl ? addurl : ''), lock);
+
+      this.env.qsearch = {lock: lock, request: r};
     }
-    return true;
   };
 
   // reset quick-search form
@@ -3433,8 +3434,13 @@
     if (this.gui_objects.qsearchbox)
       this.gui_objects.qsearchbox.value = '';
 
+    if (this.env.qsearch) {
+      this.set_busy(this.env.qsearch.lock, false);
+      this.env.qsearch.request.abort();
+    }
+
+    this.env.qsearch = null;
     this.env.search_request = null;
-    return true;
   };
 
   this.sent_successfully = function(type, msg)
@@ -5744,6 +5750,7 @@
       case 'check-recent':
       case 'getunread':
       case 'search':
+        this.env.qsearch = null;
       case 'list':
         if (this.task == 'mail') {
           this.enable_command('show', 'expunge', 'select-all', 'select-none', 'sort', (this.env.messagecount > 0));

--
Gitblit v1.9.1