[Pkg-mozext-commits] [tabmixplus] 55/61: New option 'Allow pinned tabs to scroll' in multi-rows

David Prévot taffit at moszumanska.debian.org
Fri Aug 28 19:09:23 UTC 2015


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository tabmixplus.

commit fa65d2d7c274eadef9a24f382d4b81eb65d34705
Author: onemen <tabmix.onemen at gmail.com>
Date:   Tue Aug 18 20:44:30 2015 +0300

    New option 'Allow pinned tabs to scroll' in multi-rows
---
 chrome/content/minit/tablib.js            |  5 +++++
 chrome/content/preferences/appearance.js  |  4 ++--
 chrome/content/preferences/appearance.xul | 19 +++++++++++++------
 chrome/content/tab/tab.js                 |  3 +++
 chrome/locale/en-US/pref-tabmix.dtd       |  1 +
 defaults/preferences/tabmix.js            |  1 +
 6 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/chrome/content/minit/tablib.js b/chrome/content/minit/tablib.js
index 7cb7ad8..54d2737 100644
--- a/chrome/content/minit/tablib.js
+++ b/chrome/content/minit/tablib.js
@@ -364,6 +364,7 @@ var tablib = {
     ).toCode();
 
     if (!Tabmix.extensions.verticalTabs) {
+      let $LF = '\n          ';
       Tabmix.changeCode(tabBar, "gBrowser.tabContainer._positionPinnedTabs")._replace(
         'this.removeAttribute("positionpinnedtabs");',
         'if (typeof this.mTabstrip.resetFirstTabInRow == "function")\
@@ -374,6 +375,10 @@ var tablib = {
         'TabmixTabbar.scrollButtonsMode != TabmixTabbar.SCROLL_BUTTONS_LEFT_RIGHT ? 0 : $&'
       )._replace(
         'if (doPosition)',
+        'if (doPosition && TabmixTabbar.isMultiRow &&' + $LF +
+        '    Tabmix.prefs.getBoolPref("pinnedTabScroll")) {' + $LF +
+        '  doPosition = false;' + $LF +
+        '}' + $LF +
         '  if (doPosition && TabmixTabbar.isMultiRow) {' +
         '    this.setAttribute("positionpinnedtabs", "true");' +
         '    let width = TabmixSvc.australis ? 0 : this.mTabstrip.scrollboxPaddingStart;' +
diff --git a/chrome/content/preferences/appearance.js b/chrome/content/preferences/appearance.js
index 9ce41cb..79a7b02 100644
--- a/chrome/content/preferences/appearance.js
+++ b/chrome/content/preferences/appearance.js
@@ -87,8 +87,8 @@ var gAppearancePane = { // jshint ignore:line
 
   tabsScrollChanged: function() {
     var multiRow = $("pref_tabsScroll").value == 2;
-    $("maxbar").hidden = !multiRow;
-    $("offsetAmountToScroll").hidden = multiRow;
+    $("multi-rows").hidden = !multiRow;
+    $("one-row").hidden = multiRow;
   },
 
   tabmixCustomizeToolbar: function() {
diff --git a/chrome/content/preferences/appearance.xul b/chrome/content/preferences/appearance.xul
index 6081509..716f9ac 100644
--- a/chrome/content/preferences/appearance.xul
+++ b/chrome/content/preferences/appearance.xul
@@ -38,6 +38,7 @@
       <preference id="pref_scrollDelay"
                   name="toolkit.scrollbox.clickToScroll.scrollDelay"                            type="int"/>
       <preference id="pref_maxrow"            name="extensions.tabmix.tabBarMaxRow"             type="int"/>
+      <preference id="pref_pinnedTabScroll"   name="extensions.tabmix.pinnedTabScroll"          type="bool"/>
       <preference id="pref_offsetAmountToScroll"
                   name="extensions.tabmix.offsetAmountToScroll"                                 type="bool"/>
       <preference id="pref_currentTab"        name="extensions.tabmix.currentTab"               type="bool"/>
@@ -146,12 +147,18 @@
                 </menulist>
               </hbox>
             </box>
-            <hbox align="center" id="maxbar">
-              <label value="&maxrow.label;" TSTdisabled="true"/>
-              <textbox id="maxrow" size="2" maxlength="2" preference="pref_maxrow" type="number" min="2"/>
-            </hbox>
-            <checkbox_tmp id="offsetAmountToScroll" label="&offsetAmountToScroll.label;"
-                      preference="pref_offsetAmountToScroll" style="height: 26px;"/>
+            <vbox id="multi-rows" class="indent" style="height: 50px;">
+              <hbox align="center" id="maxbar">
+                <label value="&maxrow.label;" TSTdisabled="true"/>
+                <textbox id="maxrow" size="2" maxlength="2" preference="pref_maxrow" type="number" min="2"/>
+              </hbox>
+              <checkbox_tmp id="pinnedTabScroll" label="&pinnedTabScroll.label;"
+                            preference="pref_pinnedTabScroll"/>
+            </vbox>
+            <vbox id="one-row" class="indent" style="height: 50px;">
+              <checkbox_tmp id="offsetAmountToScroll" label="&offsetAmountToScroll.label;"
+                        preference="pref_offsetAmountToScroll"/>
+            </vbox>
             <checkbox_tmp id="smoothScroll" label="&smoothScroll.label;" preference="pref_smoothScroll"/>
             <hbox align="center" id="clickToScroll.scrollDelay">
               <label value="&scrolldelay.label;" TSTdisabled="true" observes="obs_smoothScroll"/>
diff --git a/chrome/content/tab/tab.js b/chrome/content/tab/tab.js
index df0d31d..bd272f7 100644
--- a/chrome/content/tab/tab.js
+++ b/chrome/content/tab/tab.js
@@ -1476,6 +1476,9 @@ var gTMPprefObserver = {
           }
           TabmixTabbar.updateBeforeAndAfter();
         break;
+      case "extensions.tabmix.pinnedTabScroll":
+        gBrowser.tabContainer._positionPinnedTabs();
+        break;
       case "extensions.tabmix.offsetAmountToScroll":
           gBrowser.tabContainer.mTabstrip.offsetAmountToScroll = Services.prefs.getBoolPref(prefName);
         break;
diff --git a/chrome/locale/en-US/pref-tabmix.dtd b/chrome/locale/en-US/pref-tabmix.dtd
index 2c7fae0..0227809 100644
--- a/chrome/locale/en-US/pref-tabmix.dtd
+++ b/chrome/locale/en-US/pref-tabmix.dtd
@@ -147,6 +147,7 @@
 <!ENTITY tabScroll.rightButtons.rtl "Scrollable with buttons on left side">
 <!ENTITY tabScroll.multibar "Multi-row">
 <!ENTITY maxrow.label "Max number of rows to display:">
+<!ENTITY pinnedTabScroll.label "Allow pinned tabs to scroll">
 <!ENTITY offsetAmountToScroll.label "When scrolling show part of next out-of-sight tab">
 <!ENTITY smoothScroll.label "Enable smooth scroll">
 <!ENTITY scrolldelay.label "Scroll Delay (time between scroll repetition)">
diff --git a/defaults/preferences/tabmix.js b/defaults/preferences/tabmix.js
index 317d8ce..e6aabca 100644
--- a/defaults/preferences/tabmix.js
+++ b/defaults/preferences/tabmix.js
@@ -52,6 +52,7 @@ pref("extensions.tabmix.keepLastTab", false);
 
 pref("extensions.tabmix.tabBarMode", 1);
 pref("extensions.tabmix.tabBarMaxRow", 3);
+pref("extensions.tabmix.pinnedTabScroll", false);
 pref("extensions.tabmix.offsetAmountToScroll", false);
 pref("extensions.tabmix.tabBarSpace", false);
 pref("extensions.tabmix.hideTabBarButton", true);

-- 
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