[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