From 6884f3f1f7542eb1dab8bb39cab33888d3fd84c5 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <thomas@roundcube.net> Date: Mon, 20 Jan 2014 05:41:58 -0500 Subject: [PATCH] Re-submit search query when switching folders --- program/js/app.js | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 2401e1e..e276f6f 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -697,9 +697,17 @@ break; case 'list': - // TODO: don't reset search but re-send for the new folder - if (props && props != '') - this.reset_qsearch(); + // re-send for the selected folder + if (props && props != '' && this.env.search_request) { + var oldmbox = this.env.search_scope == 'all' ? '*' : this.env.mailbox; + this.env.search_mods[props] = this.env.search_mods[oldmbox]; // copy search mods from active search + this.env.mailbox = props; + this.env.search_scope = 'base'; + this.qsearch(this.gui_objects.qsearchbox.value); + this.select_folder(this.env.mailbox, '', true); + break; + } + if (this.env.action == 'compose' && this.env.extwin) window.close(); else if (this.task == 'mail') { @@ -4100,11 +4108,11 @@ }; // send remote request to search mail or contacts - this.qsearch = function(value) + this.qsearch = function(value, mods) { if (value != '') { var r, lock = this.set_busy(true, 'searching'), - url = this.search_params(value); + url = this.search_params(value, null, mods); if (this.message_list) this.clear_message_list(); @@ -4128,7 +4136,7 @@ }; // build URL params for search - this.search_params = function(search, filter) + this.search_params = function(search, filter, smods) { var n, url = {}, mods_arr = [], mods = this.env.search_mods, @@ -4147,11 +4155,11 @@ if (search) { url._q = search; - if (mods && this.message_list) - mods = mods[mbox] ? mods[mbox] : mods['*']; + if (!smods && mods && this.message_list) + smods = mods[mbox] || mods['*']; - if (mods) { - for (n in mods) + if (smods) { + for (n in smods) mods_arr.push(n); url._headers = mods_arr.join(','); } -- Gitblit v1.9.1