bug 142215 - Personal Toolbar folders should work like main menu (open on mouseover), p=paradigmk@technodrome.com r=Neil a=me

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@213776 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kairo%kairo.at
2006-10-18 12:47:12 +00:00
parent 0efdfa9ad1
commit e1dd0c3a16
2 changed files with 28 additions and 0 deletions

View File

@@ -262,6 +262,9 @@
<toolbar id="PersonalToolbar" class="chromeclass-directories" persist="collapsed"
grippytooltiptext="&personalToolbar.tooltip;" tbalign="stretch" prefixhidden="true"
onmouseover="BookmarksToolbar.autoOpenMenu(event.target);"
onpopupshowing="BookmarksToolbar.onMenuOpen(event.target);"
onpopuphidden="BookmarksToolbar.onMenuClose(event.target);"
ondraggesture="nsDragAndDrop.startDrag(event, BookmarksMenuDNDObserver)"
ondragdrop="nsDragAndDrop.drop(event, BookmarksMenuDNDObserver); event.stopPropagation()"
ondragenter="nsDragAndDrop.dragEnter(event, BookmarksMenuDNDObserver); event.stopPropagation()"

View File

@@ -724,6 +724,31 @@ var BookmarksMenuDNDObserver = {
var BookmarksToolbar =
{
/////////////////////////////////////////////////////////////////////////////
// make bookmarks toolbar act like menus
openMenuButton: null,
autoOpenMenu: function (aTarget)
{
if (this.openMenuButton &&
this.openMenuButton != aTarget &&
aTarget.localName == "toolbarbutton" &&
(aTarget.type == "menu" ||
aTarget.type == "menu-button")) {
this.openMenuButton.open = false;
aTarget.open = true;
}
},
onMenuOpen: function (aTarget)
{
if (aTarget.parentNode.localName == "toolbarbutton")
this.openMenuButton = aTarget.parentNode;
},
onMenuClose: function (aTarget)
{
if (aTarget.parentNode.localName == "toolbarbutton")
this.openMenuButton = null;
},
/////////////////////////////////////////////////////////////////////////////
// returns the node of the last visible bookmark on the toolbar -->
getLastVisibleBookmark: function ()