# ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is the Places Toolbar View. # # The Initial Developer of the Original Code is Google Inc. # Portions created by the Initial Developer are Copyright (C) 2005-2006 # the Initial Developer. All Rights Reserved. # # Contributor(s): # Annie Sullivan # Ben Goodger # Myk Melez # Marco Bonardo # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** %browserDTD; ]> document.getAnonymousElementByAttribute(this, "class", "bookmarks-toolbar-items") document.getAnonymousElementByAttribute(this, "class", "toolbar-drop-indicator") document.getAnonymousElementByAttribute(this, "class", "chevron") this._chevron.lastChild null true null null document.defaultView.getComputedStyle(this.parentNode, "") .direction == "rtl" scrollRect.right); } child.style.visibility = childOverflowed ? "hidden" : "visible"; } // We rebuild the chevron on popupShowing, so if it is open // we must update it. if (this._chevron.open) this._updateChevronPopupNodesVisibility(); ]]> 0) { if (aPopup._emptyMenuItem) aPopup._emptyMenuItem.hidden = true; for (let i = 0; i < cc; ++i) { var child = resultNode.getChild(i); this.insertNewItemToPopup(child, aPopup, null); } } else { // This menu is empty. If there is no static content, add // an element to show it is empty. if (aPopup._startMarker == -1 && aPopup._endMarker == -1) this._showEmptyMenuItem(aPopup); } aPopup._built = true; ]]> nodeRect.right - threshold) : (aEvent.clientX < nodeRect.left + threshold)) { // Drop before this folder. dropPoint.ip = new InsertionPoint(PlacesUtils.getConcreteItemId(result.root), nodeIndex, Ci.nsITreeView.DROP_BEFORE); dropPoint.beforeIndex = nodeIndex; } else if (this._isRTL ? (aEvent.clientX > nodeRect.left + threshold) : (aEvent.clientX < nodeRect.right - threshold)) { // Drop inside this folder. dropPoint.ip = new InsertionPoint(PlacesUtils.getConcreteItemId(xulNode.node), -1, Ci.nsITreeView.DROP_ON, PlacesUtils.nodeIsTagQuery(xulNode.node)); dropPoint.beforeIndex = nodeIndex; dropPoint.folderNode = xulNode; } else { // Drop after this folder. let beforeIndex = (nodeIndex == this.childNodes.length - 1) ? -1 : nodeIndex + 1; dropPoint.ip = new InsertionPoint(PlacesUtils.getConcreteItemId(result.root), beforeIndex, Ci.nsITreeView.DROP_BEFORE); dropPoint.beforeIndex = beforeIndex; } } else { // This is a non-folder node or a read-only folder. // Drop before it with regards to RTL mode. let threshold = nodeRect.width * 0.5; if (this._isRTL ? (aEvent.clientX > nodeRect.left + threshold) : (aEvent.clientX < nodeRect.left + threshold)) { // Drop before this bookmark. dropPoint.ip = new InsertionPoint(PlacesUtils.getConcreteItemId(result.root), nodeIndex, Ci.nsITreeView.DROP_BEFORE); dropPoint.beforeIndex = nodeIndex; } else { // Drop after this bookmark. let beforeIndex = nodeIndex == this.childNodes.length - 1 ? -1 : nodeIndex + 1; dropPoint.ip = new InsertionPoint(PlacesUtils.getConcreteItemId(result.root), beforeIndex, Ci.nsITreeView.DROP_BEFORE); dropPoint.beforeIndex = beforeIndex; } } } else { // We are most likely dragging on the empty area of the // toolbar, we should drop after the last node. dropPoint.ip = new InsertionPoint(PlacesUtils.getConcreteItemId(result.root), -1, Ci.nsITreeView.DROP_BEFORE); dropPoint.beforeIndex = -1; } return dropPoint; ]]> = Math.abs(translateX/2)) { // Don't start the drag event.preventDefault(); // Open the menu draggedDOMNode.open = true; return; } // if the menu is open, close it if (draggedDOMNode.open) { draggedDOMNode.firstChild.hidePopup(); draggedDOMNode.open = false; } } // activate the view and cache the dragged node this._draggedNode = draggedDOMNode.node; this.focus(); this._controller.setDataTransfer(event); event.stopPropagation(); ]]> #ifdef XP_UNIX #ifndef XP_MACOSX #endif #endif