bug 210196 Fix use of bookmarks root / top root as a target and correct caller of CanDropBeforeAfter

r=varga, sr=jag
This commit is contained in:
chanial%noos.fr 2003-07-17 11:08:07 +00:00
Родитель 06c602fd58
Коммит c057ca60fd
4 изменённых файлов: 8 добавлений и 12 удалений

Просмотреть файл

@ -2095,7 +2095,7 @@ nsXULTreeBuilder::Drop(PRInt32 row, PRInt32 orient)
if (orient == nsITreeView::inDropOn)
observer->CanDropOn(row, &canDrop);
else
observer->CanDropBeforeAfter(row, orient, &canDrop);
observer->CanDropBeforeAfter(row, orient == nsITreeView::inDropBefore, &canDrop);
if (canDrop)
observer->OnDrop(row, orient);
}

Просмотреть файл

@ -3687,7 +3687,7 @@ nsTreeBodyFrame::OnDragOver(nsIDOMEvent* aEvent)
if (mDropOrient == nsITreeView::inDropOn)
mView->CanDropOn(mDropRow, &canDropAtNewLocation);
else
mView->CanDropBeforeAfter (mDropRow, mDropOrient == nsITreeView::inDropBefore ? PR_TRUE : PR_FALSE, &canDropAtNewLocation);
mView->CanDropBeforeAfter(mDropRow, mDropOrient == nsITreeView::inDropBefore, &canDropAtNewLocation);
if (canDropAtNewLocation) {
// Invalidate row at the new location.

Просмотреть файл

@ -29,7 +29,6 @@ function Startup()
const windowNode = document.getElementById("bookmark-window");
const bookmarksView = document.getElementById("bookmarks-view");
var rowIndex = 0;
var titleString;
// If we've been opened with a parameter, root the tree on it.
@ -54,12 +53,9 @@ function Startup()
// always open the bookmark top root folder
if (!bookmarksView.treeBoxObject.view.isContainerOpen(0))
bookmarksView.treeBoxObject.view.toggleOpenState(0);
// XXXvarga this should go away once bug 200067 is fixed.
if (!bookmarksView.treeBoxObject.view.isContainerEmpty(0))
rowIndex = 1;
}
bookmarksView.treeBoxObject.selection.select(rowIndex);
bookmarksView.treeBoxObject.selection.select(0);
windowNode.setAttribute("title", titleString);

Просмотреть файл

@ -275,12 +275,12 @@
<parameter name="aParent"/>
<parameter name="aOrientation"/>
<body><![CDATA[
if (aItem === undefined)
return BookmarksUtils.getTargetFromFolder(this.getRootResource());
if (aOrientation == BookmarksUtils.DROP_ON) {
if (!aParent || aParent.Value == "NC:BookmarksTopRoot")
return BookmarksUtils.getTargetFromFolder(RDF.GetResource("NC:BookmarksRoot"))
if (aOrientation == BookmarksUtils.DROP_ON)
return BookmarksUtils.getTargetFromFolder(aItem);
}
RDFC.Init(this.db, aParent);
var index = RDFC.IndexOf(aItem);
@ -483,7 +483,7 @@
var selection = this.mOuter._selection;
aXferData.data = BookmarksUtils.getXferDataFromSelection(selection);
const kDSIID = Components.interfaces.nsIDragService;
if (aEvent.ctrlKey || !selection.containsMutable)
if (aEvent.ctrlKey)
aDragAction.action = kDSIID.DRAGDROP_ACTION_COPY;
}
})