summaryrefslogtreecommitdiffstats
path: root/toolkit/content/customizeToolbar.js
diff options
context:
space:
mode:
authorNew Tobin Paradigm <email@mattatobin.com>2018-04-16 13:40:11 -0400
committerGitHub <noreply@github.com>2018-04-16 13:40:11 -0400
commit89f23776a88af1a9ce5b56282f6a45103b74c80a (patch)
tree562657b1c16acb53f967450143fe5e82d61a43a8 /toolkit/content/customizeToolbar.js
parent0b4dae0b3fcc068b8fbed57301cc340fd5e48f92 (diff)
parent4e2383201dfd2b48081e11d2a62384269535caca (diff)
downloadUXP-89f23776a88af1a9ce5b56282f6a45103b74c80a.tar
UXP-89f23776a88af1a9ce5b56282f6a45103b74c80a.tar.gz
UXP-89f23776a88af1a9ce5b56282f6a45103b74c80a.tar.lz
UXP-89f23776a88af1a9ce5b56282f6a45103b74c80a.tar.xz
UXP-89f23776a88af1a9ce5b56282f6a45103b74c80a.zip
Merge pull request #195 from janekptacijarabaci/pm_toolbars_custom_persist_1
palemoon#903 a #975: Customizable toolbars - persist the attribute "collapsed" (backward compatible)
Diffstat (limited to 'toolkit/content/customizeToolbar.js')
-rw-r--r--toolkit/content/customizeToolbar.js24
1 files changed, 21 insertions, 3 deletions
diff --git a/toolkit/content/customizeToolbar.js b/toolkit/content/customizeToolbar.js
index b96b60b98..7400aaadc 100644
--- a/toolkit/content/customizeToolbar.js
+++ b/toolkit/content/customizeToolbar.js
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+const gToolbarInfoSeparators = ["|", "-"];
+
var gToolboxDocument = null;
var gToolbox = null;
var gCurrentDragOverItem = null;
@@ -173,9 +175,20 @@ function persistCurrentSets()
// Remove custom toolbars whose contents have been removed.
gToolbox.removeChild(toolbar);
} else if (gToolbox.toolbarset) {
+ var hidingAttribute = toolbar.getAttribute("type") == "menubar" ?
+ "autohide" : "collapsed";
// Persist custom toolbar info on the <toolbarset/>
- gToolbox.toolbarset.setAttribute("toolbar"+(++customCount),
- toolbar.toolbarName + ":" + currentSet);
+ // Attributes:
+ // Names: "toolbarX" (X - the number of the toolbar)
+ // Values: "Name|HidingAttributeName-HidingAttributeValue|CurrentSet"
+ gToolbox.toolbarset.setAttribute("toolbar" + (++customCount),
+ toolbar.toolbarName
+ + gToolbarInfoSeparators[0]
+ + hidingAttribute
+ + gToolbarInfoSeparators[1]
+ + toolbar.getAttribute(hidingAttribute)
+ + gToolbarInfoSeparators[0]
+ + currentSet);
gToolboxDocument.persist(gToolbox.toolbarset.id, "toolbar"+customCount);
}
}
@@ -485,6 +498,11 @@ function addNewToolbar()
continue;
}
+ if (name.value.includes(gToolbarInfoSeparators[0])) {
+ message = stringBundle.getFormattedString("enterToolbarIllegalChars", [name.value]);
+ continue;
+ }
+
var dupeFound = false;
// Check for an existing toolbar with the same display name
@@ -506,7 +524,7 @@ function addNewToolbar()
message = stringBundle.getFormattedString("enterToolbarDup", [name.value]);
}
- gToolbox.appendCustomToolbar(name.value, "");
+ gToolbox.appendCustomToolbar(name.value, "", [null, null]);
toolboxChanged();