From 1d47d59bace5ffa51dfc4983ef2f6294373dcea4 Mon Sep 17 00:00:00 2001 From: SHIMODA Hiroshi Date: Tue, 15 Mar 2011 01:23:30 +0900 Subject: [PATCH] flexible toolbar items in the vertical tab bar were hidden if there are too many tabs --- content/treestyletab/treestyletab.css | 10 +++++++++- content/treestyletab/treestyletabbrowser.js | 21 +++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/content/treestyletab/treestyletab.css b/content/treestyletab/treestyletab.css index 2846f3d5..c070b1de 100644 --- a/content/treestyletab/treestyletab.css +++ b/content/treestyletab/treestyletab.css @@ -153,7 +153,15 @@ tabbrowser[treestyletab-tabbar-autohide-mode="1"][treestyletab-tabbar-autohide=" } .tabbrowser-tabs[treestyletab-mode="vertical"] - .tabbrowser-tab { + .tabbrowser-tab, +toolbar.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"] + > toolbarbutton, +toolbar.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"] + > .treestyletab-toolbar-inner-box > toolbarbutton, +toolbar.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"] + > toolbaritem, +toolbar.treestyletab-tabbar-toolbar[treestyletab-mode="vertical"] + > .treestyletab-toolbar-inner-box > toolbaritem { -moz-box-flex: 0 !important; } diff --git a/content/treestyletab/treestyletabbrowser.js b/content/treestyletab/treestyletabbrowser.js index 7bd37a1b..38939ff9 100644 --- a/content/treestyletab/treestyletabbrowser.js +++ b/content/treestyletab/treestyletabbrowser.js @@ -950,6 +950,15 @@ TreeStyleTabBrowser.prototype = { this.removeTabStripAttribute('height'); b.mPanelContainer.removeAttribute('height'); + if (strip.localName == 'toolbar') { + Array.forEach(strip.childNodes, function(aNode) { + if (aNode.localName == 'tabs') + return; + aNode.setAttribute('treestyletab-backup-flex', aNode.getAttribute('flex')); + aNode.removeAttribute('flex'); + }, this); + } + if (pos == this.kTABBAR_RIGHT) { this.setTabbrowserAttribute(this.kTABBAR_POSITION, 'right'); if (this.getTreePref('tabbar.invertTab')) { @@ -1020,6 +1029,18 @@ TreeStyleTabBrowser.prototype = { this.setTabbrowserAttribute(this.kMODE, this.getTreePref('tabbar.multirow') ? 'multirow' : 'horizontal'); this.removeTabbrowserAttribute(this.kTAB_INVERTED); + if (strip.localName == 'toolbar') { + Array.forEach(strip.childNodes, function(aNode) { + if (aNode.localName == 'tabs') + return; + var flex = aNode.hasAttribute('treestyletab-backup-flex'); + if (!flex) + return; + aNode.setAttribute('flex', flex); + aNode.removeAttribute('treestyletab-backup-flex'); + }, this); + } + if (pos == this.kTABBAR_BOTTOM) { this.setTabbrowserAttribute(this.kTABBAR_POSITION, 'bottom'); this.indentTarget = 'bottom';