From 0f8df53ae7d831410407c182d489927cce5c3597 Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Sun, 15 Apr 2018 22:23:57 +0200 Subject: palemoon#903: Customizable toolbars - persist the attribute "collapsed" https://github.com/MoonchildProductions/Pale-Moon/pull/903 --- toolkit/content/customizeToolbar.js | 22 ++++++++++++++++++++-- toolkit/content/widgets/toolbar.xml | 18 ++++++++++++++---- 2 files changed, 34 insertions(+), 6 deletions(-) (limited to 'toolkit/content') diff --git a/toolkit/content/customizeToolbar.js b/toolkit/content/customizeToolbar.js index b96b60b98..d5288776b 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 + // Attributes: + // Names: "toolbarX" (X - the number of the toolbar) + // Values: "Name:HidingAttributeName-HidingAttributeValue:CurrentSet" gToolbox.toolbarset.setAttribute("toolbar"+(++customCount), - toolbar.toolbarName + ":" + currentSet); + 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(); diff --git a/toolkit/content/widgets/toolbar.xml b/toolkit/content/widgets/toolbar.xml index 548504e24..e79843dbd 100644 --- a/toolkit/content/widgets/toolbar.xml +++ b/toolkit/content/widgets/toolbar.xml @@ -49,6 +49,7 @@ @@ -69,6 +74,7 @@ +