From 5313aff1a2748bf18fdfb300b51c2b66e67fa564 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Tue, 30 Jan 2007 21:35:58 +0000 Subject: [PATCH] Closes #518, Support drag and drop in advanced search window Also fix occasional throw error when first dragging to a collection --- chrome/content/zotero/advancedSearch.js | 23 +++++++++++---------- chrome/content/zotero/advancedSearch.xul | 5 ++++- chrome/content/zotero/xpcom/itemTreeView.js | 2 +- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/chrome/content/zotero/advancedSearch.js b/chrome/content/zotero/advancedSearch.js index 1d2c3d2f1..fc9c971d6 100644 --- a/chrome/content/zotero/advancedSearch.js +++ b/chrome/content/zotero/advancedSearch.js @@ -6,8 +6,9 @@ var ZoteroAdvancedSearch = new function() { this.onDblClick = onDblClick; this.onUnload = onUnload; + this.itemsView = false; + var _searchBox; - var _itemsView; function onLoad() { _searchBox = document.getElementById('zotero-search-box'); @@ -31,18 +32,18 @@ var ZoteroAdvancedSearch = new function() { isSearch: function () { return true; } } - if (_itemsView) { - _itemsView.unregister(); + if (this.itemsView) { + this.itemsView.unregister(); } - _itemsView = new Zotero.ItemTreeView(itemGroup, false); - document.getElementById('zotero-items-tree').view = _itemsView; + this.itemsView = new Zotero.ItemTreeView(itemGroup, false); + document.getElementById('zotero-items-tree').view = this.itemsView; } function clear() { - if (_itemsView) { - _itemsView.unregister(); + if (this.itemsView) { + this.itemsView.unregister(); } document.getElementById('zotero-items-tree').view = null; @@ -90,9 +91,9 @@ var ZoteroAdvancedSearch = new function() { tree.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, obj); // obj.value == cell/text/image // TODO: handle collection double-click - if (obj.value && _itemsView && _itemsView.selection.currentIndex > -1) + if (obj.value && this.itemsView && this.itemsView.selection.currentIndex > -1) { - var item = _itemsView.getSelectedItems()[0]; + var item = this.itemsView.getSelectedItems()[0]; var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getService(Components.interfaces.nsIWindowMediator); @@ -118,8 +119,8 @@ var ZoteroAdvancedSearch = new function() { function onUnload() { // Unregister search from Notifier - if (_itemsView) { - _itemsView.unregister(); + if (this.itemsView) { + this.itemsView.unregister(); } } } diff --git a/chrome/content/zotero/advancedSearch.xul b/chrome/content/zotero/advancedSearch.xul index 405e6bc63..8ac3fb3af 100644 --- a/chrome/content/zotero/advancedSearch.xul +++ b/chrome/content/zotero/advancedSearch.xul @@ -21,6 +21,8 @@