bug 252077 - fix regression in DnD of bookmarks in RTL locales from bug 240485, patch by Asaf Romano (bugs.mano@mail-central.com), r=me

This commit is contained in:
mconnor%myrealbox.com 2004-07-19 16:43:25 +00:00
parent 980c571260
commit 12a0f1a910

View File

@ -317,21 +317,15 @@ var BookmarksMenu = {
border = size/5; border = size/5;
else else
border = size/2; border = size/2;
var dropLocation;
// in the first region? // in the first region?
if (clientCoordValue-coordValue < border) if (clientCoordValue-coordValue < border)
dropLocation = BookmarksUtils.DROP_BEFORE; return BookmarksUtils.DROP_BEFORE;
// in the last region? // in the last region?
else if (clientCoordValue-coordValue >= size-border) else if (clientCoordValue-coordValue >= size-border)
dropLocation = BookmarksUtils.DROP_AFTER; return BookmarksUtils.DROP_AFTER;
else // must be in the middle somewhere else // must be in the middle somewhere
return BookmarksUtils.DROP_ON return BookmarksUtils.DROP_ON;
// If the direction of PersonalToolbar is RTL, we invert dropLocation before returning
if (window.getComputedStyle(document.getElementById("PersonalToolbar"),'').direction == 'rtl')
dropLocation = -dropLocation;
return dropLocation;
}, },
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
@ -533,6 +527,11 @@ var BookmarksMenuDNDObserver = {
var selection = BookmarksUtils.getSelectionFromXferData(aDragSession); var selection = BookmarksUtils.getSelectionFromXferData(aDragSession);
var orientation = BookmarksMenu.getBTOrientation(aEvent); var orientation = BookmarksMenu.getBTOrientation(aEvent);
// For RTL PersonalBar bookmarks buttons, orientation should be inverted (only in drop case)
var PBStyle = window.getComputedStyle(document.getElementById("PersonalToolbar"),'');
var isHorizontal = (target.localName == "toolbarbutton"); if ((PBStyle.direction == 'rtl') && isHorizontal) if (orientation == BookmarksUtils.DROP_AFTER) orientation = BookmarksUtils.DROP_BEFORE; else if (orientation == BookmarksUtils.DROP_BEFORE) orientation = BookmarksUtils.DROP_AFTER;
var selTarget = BookmarksMenu.getBTTarget(target, orientation); var selTarget = BookmarksMenu.getBTTarget(target, orientation);
const kDSIID = Components.interfaces.nsIDragService; const kDSIID = Components.interfaces.nsIDragService;