From 249e8fa857cc5a13fcf50def24764a12b7dec18a Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Wed, 14 Oct 2009 09:53:50 +0000 Subject: [PATCH] Advanced quick search mode was searching after every keypress --- chrome/content/zotero/overlay.js | 19 ++++++++++--------- chrome/content/zotero/overlay.xul | 5 +---- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/chrome/content/zotero/overlay.js b/chrome/content/zotero/overlay.js index 9ec78c93a..32f1f440f 100644 --- a/chrome/content/zotero/overlay.js +++ b/chrome/content/zotero/overlay.js @@ -1457,13 +1457,11 @@ var ZoteroPane = new function() if (event.keyCode == event.DOM_VK_ESCAPE) { textbox.value = ''; ZoteroPane.setItemsPaneMessage(Zotero.getString('searchInProgress')); - setTimeout("document.getElementById('zotero-tb-search').doCommand('cmd_zotero_search'); ZoteroPane.clearItemsPaneMessage();", 1); + setTimeout("ZoteroPane.search(); ZoteroPane.clearItemsPaneMessage();", 1); } - else if (event.keyCode == event.DOM_VK_RETURN || - event.keyCode == event.DOM_VK_ENTER) { - textbox.skipTimeout = true; + else if (event.keyCode == event.DOM_VK_RETURN || event.keyCode == event.DOM_VK_ENTER) { ZoteroPane.setItemsPaneMessage(Zotero.getString('searchInProgress')); - setTimeout("document.getElementById('zotero-tb-search').doCommand('cmd_zotero_search'); ZoteroPane.clearItemsPaneMessage();", 1); + setTimeout("ZoteroPane.search(true); ZoteroPane.clearItemsPaneMessage();", 1); } } @@ -1472,9 +1470,8 @@ var ZoteroPane = new function() // This is the new length, except, it seems, when the change is a // result of Undo or Redo if (!textbox.value.length) { - textbox.skipTimeout = true; ZoteroPane.setItemsPaneMessage(Zotero.getString('searchInProgress')); - setTimeout("document.getElementById('zotero-tb-search').doCommand('cmd_zotero_search'); ZoteroPane.clearItemsPaneMessage();", 1); + setTimeout("ZoteroPane.search(); ZoteroPane.clearItemsPaneMessage();", 1); } else if (textbox.value.indexOf('"') != -1) { ZoteroPane.setItemsPaneMessage(Zotero.getString('advancedSearchMode')); @@ -1482,10 +1479,14 @@ var ZoteroPane = new function() } - function search() + function search(runAdvanced) { if (this.itemsView) { - var searchVal = document.getElementById('zotero-tb-search').value; + var search = document.getElementById('zotero-tb-search'); + if (!runAdvanced && search.value.indexOf('"') != -1) { + return; + } + var searchVal = search.value; this.itemsView.setFilter('search', searchVal); document.getElementById('zotero-tb-search-cancel').hidden = searchVal == ""; diff --git a/chrome/content/zotero/overlay.xul b/chrome/content/zotero/overlay.xul index 6f1af8645..5c9cc539e 100644 --- a/chrome/content/zotero/overlay.xul +++ b/chrome/content/zotero/overlay.xul @@ -243,10 +243,7 @@