commit 3f28260507f116864b9f0fe82326a8b0fd2173c6
parent 642a857a29f3c1ec32ae0b774f9d8ba4381f416c
Author: Dan Stillman <dstillman@zotero.org>
Date: Sun, 26 Dec 2010 03:40:35 +0000
Remove all references to deprecated nsDragAndDrop, and remove some obsolete drag code
Diffstat:
7 files changed, 21 insertions(+), 124 deletions(-)
diff --git a/chrome/content/zotero/advancedSearch.js b/chrome/content/zotero/advancedSearch.js
@@ -163,11 +163,6 @@ var ZoteroAdvancedSearch = new function() {
}
- this.startDrag = function (event, element) {
- element.onDragStart(event);
- }
-
-
function onUnload() {
// Unregister search from Notifier
if (this.itemsView) {
diff --git a/chrome/content/zotero/advancedSearch.xul b/chrome/content/zotero/advancedSearch.xul
@@ -37,7 +37,7 @@
<tree id="zotero-items-tree" flex="1" hidecolumnpicker="true" seltype="multiple"
ondblclick="ZoteroAdvancedSearch.onDblClick(event, this)"
- ondragstart="if (event.target.localName == 'treechildren') { ZoteroAdvancedSearch.startDrag(event, ZoteroAdvancedSearch.itemsView); }">
+ ondragstart="if (event.target.localName == 'treechildren') { ZoteroAdvancedSearch.itemsView.onDragStart(event); }">
<treecols>
<treecol
id="zotero-items-column-title" primary="true"
diff --git a/chrome/content/zotero/overlay.js b/chrome/content/zotero/overlay.js
@@ -2532,26 +2532,6 @@ var ZoteroPane = new function()
}
- this.startDrag = function (event, element) {
- element.onDragStart(event);
- }
-
-
- this.dragEnter = function (event, element) {
- return element.onDragEnter(event);
- }
-
-
- this.dragOver = function (event, element) {
- return element.onDragOver(event);
- }
-
-
- this.dragDrop = function (event, element) {
- return element.onDrop(event);
- }
-
-
this.openPreferences = function (paneID, action) {
var io = {
pane: paneID,
diff --git a/chrome/content/zotero/overlay.xul b/chrome/content/zotero/overlay.xul
@@ -176,10 +176,10 @@
onmouseover="ZoteroPane.collectionsView.setHighlightedRows();"
onkeypress="ZoteroPane.handleKeyPress(event, this.id)"
onselect="ZoteroPane.onCollectionSelected();" seltype="cell"
- ondraggesture="if (event.target.localName == 'treechildren') { ZoteroPane.startDrag(event, ZoteroPane.collectionsView); }"
- ondragenter="return ZoteroPane.dragEnter(event, ZoteroPane.collectionsView)"
- ondragover="return ZoteroPane.dragOver(event, ZoteroPane.collectionsView)"
- ondragdrop="return ZoteroPane.dragDrop(event, ZoteroPane.collectionsView)"
+ ondragstart="if (event.target.localName == 'treechildren') { ZoteroPane.collectionsView.onDragStart(event); }"
+ ondragenter="return ZoteroPane.collectionsView.onDragEnter(event)"
+ ondragover="return ZoteroPane.collectionsView.onDragOver(event)"
+ ondrop="return ZoteroPane.collectionsView.onDrop(event)"
flex="1">
<treecols>
<treecol
@@ -250,10 +250,10 @@
onfocus="if (ZoteroPane.itemsView.rowCount && !ZoteroPane.itemsView.selection.count) { ZoteroPane.itemsView.selection.select(0); }"
onkeypress="ZoteroPane.handleKeyPress(event, this.id)"
onselect="ZoteroPane.itemSelected();"
- ondraggesture="if (event.target.localName == 'treechildren') { ZoteroPane.startDrag(event, ZoteroPane.itemsView); }"
- ondragenter="return ZoteroPane.dragEnter(event, ZoteroPane.itemsView)"
- ondragover="return ZoteroPane.dragOver(event, ZoteroPane.itemsView)"
- ondragdrop="return ZoteroPane.dragDrop(event, ZoteroPane.itemsView)"
+ ondragstart="if (event.target.localName == 'treechildren') { ZoteroPane.itemsView.onDragStart(event); }"
+ ondragenter="return ZoteroPane.itemsView.onDragEnter(event)"
+ ondragover="return ZoteroPane.itemsView.onDragOver(event)"
+ ondragdrop="return ZoteroPane.itemsView.onDrop(event)"
flex="1">
<treecols>
<treecol
diff --git a/chrome/content/zotero/standalone.xul b/chrome/content/zotero/standalone.xul
@@ -216,7 +216,6 @@
contentcontextmenu="contentAreaContextMenu"
onnewtab="BrowserOpenTab();"
autocompletepopup="PopupAutoComplete"
- ondrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);"
onclick="return contentAreaClick(event, false);"/>
</vbox>
</hbox>
diff --git a/chrome/content/zotero/xpcom/collectionTreeView.js b/chrome/content/zotero/xpcom/collectionTreeView.js
@@ -1021,38 +1021,20 @@ Zotero.CollectionTreeCommandController.prototype.onEvent = function(evt)
///
/// Drag-and-drop functions:
/// canDrop() and drop() are for nsITreeView
-/// onDragStart(), getSupportedFlavours(), and onDrop() for nsDragAndDrop.js
+/// onDragStart() and onDrop() are for HTML 5 Drag and Drop
///
////////////////////////////////////////////////////////////////////////////////
-/**
+/*
* Start a drag using HTML 5 Drag and Drop
*/
-Zotero.CollectionTreeView.prototype.onDragStart = function(event, transferData, action) {
+Zotero.CollectionTreeView.prototype.onDragStart = function(event) {
var itemGroup = this._getItemAtRow(this.selection.currentIndex);
if (!itemGroup.isCollection()) {
- return false;
+ return;
}
- var collectionID = itemGroup.ref.id;
-
- event.dataTransfer.setData("zotero/collection", collectionID);
-}
-
-
-/**
- * Returns the supported drag flavors
- *
- * Called by nsDragAndDrop.js
- */
-Zotero.CollectionTreeView.prototype.getSupportedFlavours = function () {
- var flavors = new FlavourSet();
- flavors.appendFlavour("zotero/collection");
- flavors.appendFlavour("zotero/item");
- flavors.appendFlavour("zotero/item-xml");
- flavors.appendFlavour("text/x-moz-url");
- flavors.appendFlavour("application/x-moz-file", "nsIFile");
- return flavors;
+ event.dataTransfer.setData("zotero/collection", itemGroup.ref.id);
}
@@ -1063,12 +1045,6 @@ Zotero.CollectionTreeView.prototype.canDrop = function(row, orient, dragData)
{
//Zotero.debug("Row is " + row + "; orient is " + orient);
- // Two different services call canDrop, nsDragAndDrop and the tree
- // This is for the former, used when dragging between windows
- if (typeof row == 'object') {
- return false;
- }
-
if (!dragData || !dragData.data) {
var dragData = Zotero.DragDrop.getDragData(this);
}
diff --git a/chrome/content/zotero/xpcom/itemTreeView.js b/chrome/content/zotero/xpcom/itemTreeView.js
@@ -1775,7 +1775,7 @@ Zotero.ItemTreeCommandController.prototype.onEvent = function(evt)
////////////////////////////////////////////////////////////////////////////////
/**
- * Start a drag using nsDragAndDrop.js or HTML 5 Drag and Drop
+ * Start a drag using HTML 5 Drag and Drop
*/
Zotero.ItemTreeView.prototype.onDragStart = function (event) {
// Quick implementation of dragging of XML item format
@@ -2106,24 +2106,9 @@ Zotero.ItemTreeView.fileDragDataProvider.prototype = {
}
-/**
- * Returns the supported drag flavours
- *
- * Called by nsDragAndDrop.js
- */
-Zotero.ItemTreeView.prototype.getSupportedFlavours = function () {
- var flavors = new FlavourSet();
- flavors.appendFlavour("zotero/item");
- flavors.appendFlavour("zotero/item-xml");
- flavors.appendFlavour("text/x-moz-url");
- flavors.appendFlavour("application/x-moz-file", "nsIFile");
- return flavors;
-}
-
-
Zotero.ItemTreeView.prototype.canDrop = function(row, orient, dragData)
{
- //Zotero.debug("Row is " + row + "; orient is " + orient);
+ Zotero.debug("Row is " + row + "; orient is " + orient);
if (row == -1 && orient == -1) {
//return true;
@@ -2133,6 +2118,7 @@ Zotero.ItemTreeView.prototype.canDrop = function(row, orient, dragData)
var dragData = Zotero.DragDrop.getDragData(this);
}
if (!dragData) {
+ Zotero.debug("No drag data");
return false;
}
var dataType = dragData.dataType;
@@ -2144,45 +2130,6 @@ Zotero.ItemTreeView.prototype.canDrop = function(row, orient, dragData)
var itemGroup = this._itemGroup;
- // workaround... two different services call canDrop
- // (nsDragAndDrop, and the tree) -- this is for the former,
- // used when dragging between windows
- if (typeof row == 'object')
- {
- // If drag to different window
- if (nsDragAndDrop.mDragSession.sourceNode!=row.target)
- {
- if (dataType == 'zotero/item') {
- var items = Zotero.Items.get(ids);
-
- // Check if at least one item (or parent item for children) doesn't
- // already exist in target
- for each(var item in items) {
- // Skip non-top-level items
- if (!item.isTopLevelItem()) {
- continue;
- }
-
- // TODO: For now, disable cross-window cross-library drag
- if (itemGroup.ref.libraryID != item.libraryID) {
- return false;
- }
-
- if (itemGroup.ref && !itemGroup.ref.hasItem(item.id)) {
- return true;
- }
- }
- }
- else if (dataType == 'text/x-moz-url' || dataType == 'application/x-moz-file') {
- if (itemGroup.isSearch()) {
- return false;
- }
- return true;
- }
- }
- return false;
- }
-
if (orient == 0) {
var rowItem = this._getItemAtRow(row).ref; // the item we are dragging over
}
@@ -2423,26 +2370,26 @@ Zotero.ItemTreeView.prototype.drop = function(row, orient)
}
Zotero.ItemTreeView.prototype.onDragEnter = function (event) {
- Zotero.debug("Storing current drag data");
+ //Zotero.debug("Storing current drag data");
Zotero.DragDrop.currentDataTransfer = event.dataTransfer;
}
/*
- * Called by nsDragAndDrop.js and HTML 5 Drag and Drop when dragging over the tree
+ * Called by HTML 5 Drag and Drop when dragging over the tree
*/
Zotero.ItemTreeView.prototype.onDragOver = function (event, dropdata, session) {
return false;
}
/*
- * Called by nsDragAndDrop.js and HTML 5 Drag and Drop when dropping onto the tree
+ * Called by HTML 5 Drag and Drop when dropping onto the tree
*/
Zotero.ItemTreeView.prototype.onDrop = function (event, dropdata, session) {
return false;
}
Zotero.ItemTreeView.prototype.onDragExit = function (event) {
- Zotero.debug("Clearing drag data");
+ //Zotero.debug("Clearing drag data");
Zotero.DragDrop.currentDataTransfer = null;
}