mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-16 14:55:47 +00:00
Bug 22056 Show toolbars as text/icons/both
patch by neil@parkwaycc.co.uk r=timeless sr=bz using xbl:inherits
This commit is contained in:
parent
362a234a8b
commit
9655960ec4
@ -165,6 +165,59 @@
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="toolbar-primary" extends="chrome://global/content/bindings/toolbar.xml#toolbar">
|
||||
<implementation implements="nsIObserver">
|
||||
<field name="domain" readonly="true">
|
||||
"browser.chrome.toolbar_style"
|
||||
</field>
|
||||
|
||||
<field name="prefs" readonly="true">
|
||||
Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefBranchInternal)
|
||||
.QueryInterface(Components.interfaces.nsIPrefBranch)
|
||||
</field>
|
||||
|
||||
<method name="observe">
|
||||
<parameter name="subject"/>
|
||||
<parameter name="topic"/>
|
||||
<parameter name="name"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
if (topic == "nsPref:changed" && name == this.domain) {
|
||||
const styles = ["pictures", "text", null];
|
||||
const style = styles[this.prefs.getIntPref(name)];
|
||||
this.setAttribute("buttonstyle", style);
|
||||
this.update("toolbarbutton", style);
|
||||
this.update("button", style);
|
||||
}
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<method name="update">
|
||||
<parameter name="tag"/>
|
||||
<parameter name="style"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
var elements = this.getElementsByTagName(tag);
|
||||
for (var i = 0; i < elements.length; i++)
|
||||
elements[i].setAttribute("buttonstyle", style);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<constructor>
|
||||
this.prefs.addObserver(this.domain, this, false);
|
||||
if (this.prefs.getIntPref(this.domain) != 2)
|
||||
this.observe(this.prefs, "nsPref:changed", this.domain);
|
||||
</constructor>
|
||||
|
||||
<destructor>
|
||||
this.prefs.removeObserver(this.domain, this);
|
||||
</destructor>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
<binding id="menubar" extends="xul:menubar">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/toolbar.css"/>
|
||||
|
Loading…
Reference in New Issue
Block a user