[Pkg-mozext-commits] [tabmixplus] 18/44: Update broadcaster for non boolean preference by adding notChecked attribute to the preference
David Prévot
taffit at moszumanska.debian.org
Wed Oct 15 02:09:59 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository tabmixplus.
commit 9eca3b6f22f24905189defddd499e69df57d40e1
Author: onemen <tabmix.onemen at gmail.com>
Date: Mon Oct 6 12:13:36 2014 +0300
Update broadcaster for non boolean preference by adding notChecked attribute to the preference
---
chrome/content/preferences/mouse.js | 7 -------
chrome/content/preferences/mouse.xul | 11 ++++-------
chrome/content/preferences/preferences.js | 18 +++++++++++-------
3 files changed, 15 insertions(+), 21 deletions(-)
diff --git a/chrome/content/preferences/mouse.js b/chrome/content/preferences/mouse.js
index c506e8b..d3bdc9f 100644
--- a/chrome/content/preferences/mouse.js
+++ b/chrome/content/preferences/mouse.js
@@ -26,8 +26,6 @@ var gMousePane = {
this.clickTabbar = $("ClickTabbar");
this.clickTabbar.appendChild(this.clickTab.firstChild.cloneNode(true));
this.updatePanelPrefs($("tabclick").selectedIndex);
- this.updateBroadcaster('tabbarscrolling');
- this.updateBroadcaster('disableMoveTab');
this.updatedblClickTabbar($("pref_click_dragwindow"));
gPrefWindow.initPane("paneMouse");
@@ -68,11 +66,6 @@ var gMousePane = {
scrollBox.ensureElementIsVisible(aPopup.parentNode.selectedItem);
},
- updateBroadcaster: function (id) {
- let preference = $("pref_" + id);
- Tabmix.setItem("obs_" + id, "disabled", preference.value == 2 || null);
- },
-
resetPreference: function (checkbox) {
let menulist = $(checkbox.getAttribute("control"));
let prefID = menulist.getAttribute("preference");
diff --git a/chrome/content/preferences/mouse.xul b/chrome/content/preferences/mouse.xul
index 4b4d3a9..7c5a2ce 100644
--- a/chrome/content/preferences/mouse.xul
+++ b/chrome/content/preferences/mouse.xul
@@ -29,7 +29,7 @@
<preference id="pref_tabFlip" name="extensions.tabmix.tabFlip" type="bool"/>
<preference id="pref_tabFlipDelay" name="extensions.tabmix.tabFlipDelay" type="int"/>
<preference id="pref_tabbarscrolling" name="extensions.tabmix.scrollTabs" type="int"
- onchange="gMousePane.updateBroadcaster('tabbarscrolling');"/>
+ notChecked="2"/>
<preference id="pref_reversescrolling" name="extensions.tabmix.reversedScroll" type="bool"/>
<preference id="pref_mouseDownSelect" name="extensions.tabmix.selectTabOnMouseDown"
type="bool" inverted="true"/>
@@ -53,7 +53,7 @@
<preference id="pref_dblclick_changesize" name="extensions.tabmix.tabbar.dblclick_changesize"
type="bool" inverted="true"/>
<preference id="pref_disableMoveTab" name="extensions.tabmix.tabBarMode" type="int"
- onchange="gMousePane.updateBroadcaster('disableMoveTab');"/>
+ notChecked="2"/>
</preferences>
<!-- pane content -->
@@ -109,8 +109,8 @@
<checkbox_tmp id="enableTabsScroll" label="&tabbarscrolling.caption;"
preference="pref_tabbarscrolling"
onsyncfrompreference="return $('pref_tabbarscrolling').value != 2"
- onsynctopreference="var val = this.checked ? this.tabbarscrolling : 2;
- this.tabbarscrolling = $('tabbarscrolling').value;
+ onsynctopreference="var val = this.checked ? this._lastValue || 1 : 2;
+ this._lastValue = $('tabbarscrolling').value;
return val;"/>
</caption>
<separator class="thin"/>
@@ -207,9 +207,6 @@
<broadcasterset id="paneMouse:Broadcaster">
<broadcaster id="obs_mouseHoverSelect"/>
<broadcaster id="obs_tabFlip"/>
- </broadcasterset>
-
- <broadcasterset>
<broadcaster id="obs_tabbarscrolling"/>
<broadcaster id="obs_disableMoveTab"/>
</broadcasterset>
diff --git a/chrome/content/preferences/preferences.js b/chrome/content/preferences/preferences.js
index 3f18def..b6795d0 100644
--- a/chrome/content/preferences/preferences.js
+++ b/chrome/content/preferences/preferences.js
@@ -89,7 +89,7 @@ var gPrefWindow = {
case "change":
if (aEvent.target.localName != "preference")
return;
- this.updateBroadcasters(aEvent.target);
+ this.updateBroadcaster(aEvent.target);
if (!this.instantApply)
this.updateApplyButton(aEvent);
break;
@@ -171,16 +171,20 @@ var gPrefWindow = {
Array.forEach(broadcasters.childNodes, function (broadcaster) {
let preference = $(broadcaster.id.replace("obs", "pref"));
if (preference)
- this.setDisabled(broadcaster, !preference.value);
+ this.updateBroadcaster(preference, broadcaster);
}, this);
},
- updateBroadcasters: function(aPreference) {
- if (aPreference.type != "bool")
+ updateBroadcaster: function(aPreference, aBroadcaster) {
+ if (aPreference.type != "bool" && !aPreference.hasAttribute("notChecked"))
return;
- let obs = $(aPreference.id.replace("pref_", "obs_"));
- if (obs)
- this.setDisabled(obs, !aPreference.value);
+ let broadcaster = aBroadcaster ||
+ $(aPreference.id.replace("pref_", "obs_"));
+ if (broadcaster) {
+ let disable = aPreference.type == "bool" ? !aPreference.value :
+ aPreference.value == parseInt(aPreference.getAttribute("notChecked"))
+ this.setDisabled(broadcaster, disable);
+ }
},
setDisabled: function(itemOrId, val) {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/tabmixplus.git
More information about the Pkg-mozext-commits
mailing list