www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit c7e92b6e1607dcd3d294cc7bed71d6c8e2887aea
parent 8af3a30fa4df1a8803e9f4b58b8b92df9c850f34
Author: Simon Kornblith <simon@simonster.com>
Date:   Fri, 11 Feb 2011 21:55:48 +0000

don't show menu separator when no locate engines are available


Diffstat:
Mchrome/content/zotero/locateMenu.js | 41+++++++++++++++++++++--------------------
1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/chrome/content/zotero/locateMenu.js b/chrome/content/zotero/locateMenu.js @@ -76,29 +76,30 @@ var Zotero_LocateMenu = new function() { // check for custom locate engines var customEngines = Zotero.LocateManager.getVisibleEngines(); - if(customEngines.length) { - locateMenu.appendChild(document.createElement("menuseparator")); - - // add engines to menu - for each(var engine in customEngines) { - // require a submission for at least one selected item - var canSubmit = false; - for each(var item in selectedItems) { - if(engine.getItemSubmission(item)) { - canSubmit = true; - break; - } - } - - if(canSubmit) { - var menuitem = _createMenuItem(engine.name, null, engine.description); - menuitem.setAttribute("class", "menuitem-iconic"); - menuitem.setAttribute("image", engine.icon); - locateMenu.appendChild(menuitem); - menuitem.addEventListener("command", _locateItem, false); + var availableEngines = []; + + // check which engines can translate an item + for each(var engine in customEngines) { + // require a submission for at least one selected item + for each(var item in selectedItems) { + if(engine.getItemSubmission(item)) { + availableEngines.push(engine); + break; } } } + + // add engines that are available for selected items + if(availableEngines.length) { + locateMenu.appendChild(document.createElement("menuseparator")); + for each(var engine in availableEngines) { + var menuitem = _createMenuItem(engine.name, null, engine.description); + menuitem.setAttribute("class", "menuitem-iconic"); + menuitem.setAttribute("image", engine.icon); + locateMenu.appendChild(menuitem); + menuitem.addEventListener("command", _locateItem, false); + } + } } else { // add "no items selected" menuitem = _createMenuItem(Zotero.getString("pane.item.selected.zero"), "no-items-selected");