[Pkg-mozext-commits] [tabmixplus] 17/51: Move overflow getter and setter to Tabmix.tabsUtils
David Prévot
taffit at moszumanska.debian.org
Mon Feb 2 18:36:48 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 fa7ea524c151c90ac4741b38e5e5874f9f458e26
Author: onemen <tabmix.onemen at gmail.com>
Date: Fri Jan 2 23:20:23 2015 +0200
Move overflow getter and setter to Tabmix.tabsUtils
---
chrome/content/minit/minit.js | 2 +-
chrome/content/minit/tablib.js | 2 +-
chrome/content/tab/scrollbox.xml | 17 +++++++--------
chrome/content/tab/tab.js | 41 ++++++++++++++++++++++++++++---------
chrome/content/tab/tabbrowser_4.xml | 31 +++++-----------------------
chrome/content/tabmix.js | 6 +++---
6 files changed, 50 insertions(+), 49 deletions(-)
diff --git a/chrome/content/minit/minit.js b/chrome/content/minit/minit.js
index 6a84d4e..0745508 100644
--- a/chrome/content/minit/minit.js
+++ b/chrome/content/minit/minit.js
@@ -249,7 +249,7 @@ var TMP_tabDNDObserver = {
}
}
- if (tabBar.overflow) {
+ if (Tabmix.tabsUtils.overflow) {
let tabStrip = tabBar.mTabstrip;
let ltr = Tabmix.ltr || tabStrip.orient == "vertical";
let _scroll, targetAnonid;
diff --git a/chrome/content/minit/tablib.js b/chrome/content/minit/tablib.js
index 8ef8655..b368473 100644
--- a/chrome/content/minit/tablib.js
+++ b/chrome/content/minit/tablib.js
@@ -1580,7 +1580,7 @@ var tablib = {
// Bug 752376 - Avoid calling scrollbox.ensureElementIsVisible()
// if the tab strip doesn't overflow to prevent layout flushes
gBrowser.ensureTabIsVisible = function tabmix_ensureTabIsVisible(aTab, aSmoothScroll) {
- if (this.tabContainer.overflow)
+ if (Tabmix.tabsUtils.overflow)
this.tabContainer.mTabstrip.ensureElementIsVisible(aTab, aSmoothScroll);
};
diff --git a/chrome/content/tab/scrollbox.xml b/chrome/content/tab/scrollbox.xml
index 6200c33..f3ec86e 100644
--- a/chrome/content/tab/scrollbox.xml
+++ b/chrome/content/tab/scrollbox.xml
@@ -122,8 +122,9 @@
this._scrollButtonUpLeft : this._scrollButtonUpRight;
this._updateScrollButtonsDisabledState();
if (!Tabmix.isVersion(320)) {
- this._scrollButtonUp.collapsed = !tabContainer.overflow;
- this._scrollButtonDown.collapsed = !tabContainer.overflow;
+ let overflow = Tabmix.tabsUtils.overflow;
+ this._scrollButtonUp.collapsed = !overflow;
+ this._scrollButtonDown.collapsed = !overflow;
}
]]></body>
</method>
@@ -425,7 +426,7 @@
TabmixTabbar._failedToEnterVerticalMode = true;
if (blockUnderflow && this.orient == "vertical")
this.blockUnderflow = true;
- this.updateOverflow(tabBar.overflow);
+ this.updateOverflow(Tabmix.tabsUtils.overflow);
}
]]></body>
</method>
@@ -562,7 +563,7 @@
}
var tabs = document.getBindingParent(this);
- if (tabs.hasAttribute("multibar") && tabs.overflow) {
+ if (tabs.hasAttribute("multibar") && Tabmix.tabsUtils.overflow) {
//XXX don't do anything on Linux when hovering last tab and
// we show close button on tab on hover
if (!TabmixSvc.isLinux || TabmixTabbar.visibleRows == 1 ||
@@ -571,9 +572,9 @@
tabs.updateVerticalTabStrip();
}
else
- tabs.overflow = false;
+ Tabmix.tabsUtils.overflow = false;
- this.updateOverflow(tabs.overflow);
+ this.updateOverflow(Tabmix.tabsUtils.overflow);
if (tabs._lastTabClosedByMouse)
tabs._expandSpacerBy(this._scrollButtonDown.clientWidth);
@@ -621,9 +622,9 @@
tabs.updateVerticalTabStrip();
}
else
- tabs.overflow = true;
+ Tabmix.tabsUtils.overflow = true;
- this.updateOverflow(tabs.overflow);
+ this.updateOverflow(Tabmix.tabsUtils.overflow);
tabs._positionPinnedTabs();
if (Tabmix.isVersion(190))
diff --git a/chrome/content/tab/tab.js b/chrome/content/tab/tab.js
index ded79a3..d83436f 100644
--- a/chrome/content/tab/tab.js
+++ b/chrome/content/tab/tab.js
@@ -69,7 +69,7 @@ var TabmixTabbar = {
if (prevTabscroll != tabscroll) {
// update pointer to the button object that we are going to use
let useTabmixButtons = tabscroll > this.SCROLL_BUTTONS_LEFT_RIGHT;
- let overflow = tabBar.overflow;
+ let overflow = Tabmix.tabsUtils.overflow;
// from Firefox 4.0+ on we add dynamicly scroll buttons on TabsToolbar.
let tabmixScrollBox = document.getElementById("tabmixScrollBox");
@@ -99,7 +99,7 @@ var TabmixTabbar = {
// the height in front.
tabStrip.orient = "vertical";
if (tabBar.updateVerticalTabStrip() == "scrollbar")
- tabBar.overflow = true;
+ Tabmix.tabsUtils.overflow = true;
}
Tabmix.setItem(tabmixScrollBox, "collapsed", null);
@@ -248,7 +248,7 @@ var TabmixTabbar = {
if (aRows == 1) {
Tabmix.setItem(tabBar, "multibar", null);
Tabmix.setItem("TabsToolbar", "multibar", null);
- tabBar.overflow = false;
+ Tabmix.tabsUtils.overflow = false;
return;
}
@@ -528,7 +528,7 @@ var TabmixTabbar = {
var tabBar = gBrowser.tabContainer;
// call our tabstrip function only when we are in multi-row and
// in overflow with pinned tabs
- if (this.isMultiRow && tabBar.overflow && tabBar.firstChild.pinned)
+ if (this.isMultiRow && Tabmix.tabsUtils.overflow && tabBar.firstChild.pinned)
tabBar.mTabstrip.setFirstTabInRow();
},
@@ -713,7 +713,7 @@ Tabmix.tabsUtils = {
return;
if (!this.checkNewtabButtonVisibility) {
- TabmixTabbar.showNewTabButtonOnSide(this.tabBar.overflow, "right-side");
+ TabmixTabbar.showNewTabButtonOnSide(this.overflow, "right-side");
return;
}
@@ -795,11 +795,32 @@ Tabmix.tabsUtils = {
},
set disAllowNewtabbutton(val) {
- let newVal = this.tabBar.overflow || val;
+ let newVal = this.overflow || val;
TabmixTabbar.showNewTabButtonOnSide(newVal, "temporary-right-side");
return newVal;
},
+ get overflow() {
+ return this.tabBar.hasAttribute("overflow");
+ },
+
+ set overflow(val) {
+ // don't do anything if other extensions set orient to vertical
+ // when we arn't use it.
+ if (!TabmixTabbar.isMultiRow && this.tabBar.mTabstrip.orient == "vertical")
+ return val;
+
+ if (val != this.overflow) {
+ if (val)
+ this.tabBar.setAttribute("overflow", "true");
+ else
+ this.tabBar.removeAttribute("overflow");
+ TabmixTabbar.showNewTabButtonOnSide(val, "right-side");
+ this.tabBar.mTabstrip.updateOverflow(val);
+ }
+ return val;
+ },
+
get topTabY() {
return this.tabstripInnerbox.getBoundingClientRect().top +
Tabmix.getStyle(this.tabstripInnerbox, "paddingTop");
@@ -1227,11 +1248,11 @@ var gTMPprefObserver = {
if (TabmixTabbar.isMultiRow) {
let isVisible = tabBar.mTabstrip.isElementVisible(gBrowser.mCurrentTab);
// we hide the button to see if tabs can fits to fewer rows without the scroll buttons
- if (tabBar.overflow && row > TabmixTabbar.visibleRows)
- tabBar.overflow = false;
+ if (Tabmix.tabsUtils.overflow && row > TabmixTabbar.visibleRows)
+ Tabmix.tabsUtils.overflow = false;
// after we update the height check if we are still in overflow
if (tabBar.updateVerticalTabStrip() == "scrollbar") {
- tabBar.overflow = true;
+ Tabmix.tabsUtils.overflow = true;
tabBar.mTabstrip._updateScrollButtonsDisabledState();
if (isVisible)
gBrowser.ensureTabIsVisible(gBrowser.selectedTab, false);
@@ -1804,7 +1825,7 @@ var gTMPprefObserver = {
// we use this value in disAllowNewtabbutton and overflow setters
Tabmix._show_newtabbutton = attrValue;
if (aShow) {
- if (gBrowser.tabContainer.overflow)
+ if (Tabmix.tabsUtils.overflow)
attrValue = "right-side";
else if (Tabmix.tabsUtils.disAllowNewtabbutton)
attrValue = "temporary-right-side";
diff --git a/chrome/content/tab/tabbrowser_4.xml b/chrome/content/tab/tabbrowser_4.xml
index aa8d3a5..83f25e0 100644
--- a/chrome/content/tab/tabbrowser_4.xml
+++ b/chrome/content/tab/tabbrowser_4.xml
@@ -370,7 +370,8 @@
let maxRow = Tabmix.prefs.getIntPref("tabBarMaxRow");
// we need to check for the case that last row of tabs is empty and we still have hidden row on top
// this can occur when we close last tab in the last row or when some tab changed width
- if (rows > 1 && rows - maxRow < 0 && this.overflow && Tabmix.tabsUtils.canScrollTabsLeft) {
+ if (rows > 1 && rows - maxRow < 0 && Tabmix.tabsUtils.overflow &&
+ Tabmix.tabsUtils.canScrollTabsLeft) {
// try to scroll all the way up
this.mTabstrip.scrollByPixels((rows - maxRow) * this.mTabstrip.singleRowHeight);
// get lastTabRowNumber after the scroll
@@ -394,9 +395,9 @@
TabmixTabbar.setHeight(rows, aReset);
if (this.mTabstrip.orient == "vertical")
- this.overflow = multibar == "scrollbar";
+ Tabmix.tabsUtils.overflow = multibar == "scrollbar";
- if (!this.overflow) {
+ if (!Tabmix.tabsUtils.overflow) {
// prevent new-tab-button on the right from flickering when new tabs animate is on.
if (Tabmix.tabsUtils.disAllowNewtabbutton &&
Services.prefs.getBoolPref("browser.tabs.animate")) {
@@ -433,28 +434,6 @@
]]></body>
</method>
- <property name="overflow">
- <getter><![CDATA[
- return this.hasAttribute("overflow");
- ]]></getter>
- <setter><![CDATA[
- // don't do anything if other extensions set orient to vertical
- // when we arn't use it.
- if (!TabmixTabbar.isMultiRow && this.mTabstrip.orient == "vertical")
- return val;
-
- if (val != this.overflow) {
- if (val)
- this.setAttribute("overflow", "true");
- else
- this.removeAttribute("overflow");
- TabmixTabbar.showNewTabButtonOnSide(val, "right-side");
- this.mTabstrip.updateOverflow(val);
- }
- return val;
- ]]></setter>
- </property>
-
<method name="_notifyBackgroundTab">
<parameter name="aTab"/>
<body><![CDATA[
@@ -491,7 +470,7 @@
if (!selected ||
!TabmixTabbar.isMultiRow && Math.max(tab.right - selected.left, selected.right - tab.left) <= scrollRect.width ||
TabmixTabbar.isMultiRow && Math.max(tab.bottom - selected.top, selected.bottom - tab.top) <= scrollRect.height) {
- if (this.overflow)
+ if (Tabmix.tabsUtils.overflow)
this.mTabstrip.ensureElementIsVisible(aTab);
return;
}
diff --git a/chrome/content/tabmix.js b/chrome/content/tabmix.js
index d54af74..4bfe832 100644
--- a/chrome/content/tabmix.js
+++ b/chrome/content/tabmix.js
@@ -775,7 +775,7 @@ var TMP_eventListener = {
lastTimeTabOpened: 0,
onTabOpen_delayUpdateTabBar: function TMP_EL_onTabOpen_delayUpdateTabBar(aTab) {
let newTime = Date.now();
- if (gBrowser.tabContainer.overflow || newTime - this.lastTimeTabOpened > 200) {
+ if (Tabmix.tabsUtils.overflow || newTime - this.lastTimeTabOpened > 200) {
this.onTabOpen_updateTabBar(aTab);
this.lastTimeTabOpened = newTime;
}
@@ -800,7 +800,7 @@ var TMP_eventListener = {
return;
}
var tabBar = gBrowser.tabContainer;
- if (!tabBar.overflow) {
+ if (!Tabmix.tabsUtils.overflow) {
// we use it as a backup for overflow event and for the case that we have
// pinned tabs in multi-row
if (TabmixTabbar.isMultiRow && tabBar.mTabstrip.orient != "vertical")
@@ -880,7 +880,7 @@ var TMP_eventListener = {
}
// workaround when we remove last visible tab
- if (tabBar.firstChild.pinned && TabmixTabbar.isMultiRow && tabBar.overflow &&
+ if (tabBar.firstChild.pinned && TabmixTabbar.isMultiRow && Tabmix.tabsUtils.overflow &&
aTab._tPos >= Tabmix.visibleTabs.last._tPos)
tabBar.mTabstrip.ensureElementIsVisible(gBrowser.selectedTab, false);
--
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