Bug 736738 Make it easier for applications and extensions to overlay the customize toolbar window r=gavin.

This commit is contained in:
Philip Chee 2012-03-29 23:33:52 +08:00
parent 356973ca45
commit b5b57ba2ea
3 changed files with 14 additions and 8 deletions

View File

@ -111,6 +111,10 @@ function finishToolbarCustomization()
function initDialog()
{
if (!gToolbox.toolbarset) {
document.getElementById("newtoolbar").hidden = true;
}
var mode = gToolbox.getAttribute("mode");
document.getElementById("modelist").value = mode;
var smallIconsCheckbox = document.getElementById("smallicons");
@ -202,7 +206,7 @@ function persistCurrentSets()
if (!toolbar.hasChildNodes()) {
// Remove custom toolbars whose contents have been removed.
gToolbox.removeChild(toolbar);
} else {
} else if (gToolbox.toolbarset) {
// Persist custom toolbar info on the <toolbarset/>
gToolbox.toolbarset.setAttribute("toolbar"+(++customCount),
toolbar.toolbarName + ":" + currentSet);
@ -217,7 +221,7 @@ function persistCurrentSets()
});
// Remove toolbarX attributes for removed toolbars.
while (gToolbox.toolbarset.hasAttribute("toolbar"+(++customCount))) {
while (gToolbox.toolbarset && gToolbox.toolbarset.hasAttribute("toolbar"+(++customCount))) {
gToolbox.toolbarset.removeAttribute("toolbar"+customCount);
gToolboxDocument.persist(gToolbox.toolbarset.id, "toolbar"+customCount);
}

View File

@ -79,17 +79,17 @@
<box align="center">
<label value="&show.label;"/>
<menulist id="modelist" value="icons" oncommand="updateToolbarMode(this.value);">
<menupopup>
<menuitem value="full" label="&iconsAndText.label;"/>
<menuitem value="icons" label="&icons.label;"/>
<menuitem value="text" label="&text.label;"/>
<menupopup id="modelistpopup">
<menuitem id="modefull" value="full" label="&iconsAndText.label;"/>
<menuitem id="modeicons" value="icons" label="&icons.label;"/>
<menuitem id="modetext" value="text" label="&text.label;"/>
</menupopup>
</menulist>
<checkbox id="smallicons" oncommand="updateIconSize(this.checked ? 'small' : 'large');" label="&useSmallIcons.label;"/>
<button label="&addNewToolbar.label;" oncommand="addNewToolbar();" icon="add"/>
<button label="&restoreDefaultSet.label;" oncommand="restoreDefaultSet();" icon="revert"/>
<button id="newtoolbar" label="&addNewToolbar.label;" oncommand="addNewToolbar();" icon="add"/>
<button id="restoreDefault" label="&restoreDefaultSet.label;" oncommand="restoreDefaultSet();" icon="revert"/>
</box>
<separator class="groove"/>

View File

@ -67,6 +67,8 @@
<parameter name="aCurrentSet"/>
<body>
<![CDATA[
if (!this.toolbarset)
return null;
var toolbar = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
"toolbar");
toolbar.id = "__customToolbar_" + aName.replace(" ", "_");