タブバーがあった位置に空白ができてしまう問題を修正
git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@6444 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
dde63d71d6
commit
4b73c3c320
@ -1364,7 +1364,7 @@ catch(e) {
|
|||||||
aSelf.setTreePref('tabbar.width', box.width);
|
aSelf.setTreePref('tabbar.width', box.width);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
b.treeStyleTab.updateTabbarSize();
|
b.treeStyleTab.updateFloatingTabbar();
|
||||||
b.treeStyleTab.clickedOnTabbarResizerGrippy = false;
|
b.treeStyleTab.clickedOnTabbarResizerGrippy = false;
|
||||||
}, 10, this);
|
}, 10, this);
|
||||||
},
|
},
|
||||||
|
@ -1059,7 +1059,6 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
this.updateTabbarState();
|
this.updateTabbarState();
|
||||||
window.setTimeout(function(aSelf, aTabBrowser, aSplitter, aToggler) {
|
window.setTimeout(function(aSelf, aTabBrowser, aSplitter, aToggler) {
|
||||||
delayedPostProcess(aSelf, aTabBrowser, aSplitter, aToggler);
|
delayedPostProcess(aSelf, aTabBrowser, aSplitter, aToggler);
|
||||||
aSelf.updateTabbarSize();
|
|
||||||
aSelf.updateTabbarOverflow();
|
aSelf.updateTabbarOverflow();
|
||||||
delayedPostProcess = null;
|
delayedPostProcess = null;
|
||||||
aSelf.mTabBrowser.style.visibility = '';
|
aSelf.mTabBrowser.style.visibility = '';
|
||||||
@ -1146,25 +1145,30 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.updateTabbarSize();
|
window.setTimeout(function(aSelf) {
|
||||||
|
aSelf.updateFloatingTabbar();
|
||||||
|
aSelf.startRendering();
|
||||||
|
}, 0, this);
|
||||||
|
|
||||||
this.setTabbrowserAttribute(this.kINDENTED, this.getTreePref('enableSubtreeIndent.'+orient) ? 'true' : null , b);
|
this.setTabbrowserAttribute(this.kINDENTED, this.getTreePref('enableSubtreeIndent.'+orient) ? 'true' : null , b);
|
||||||
this.setTabbrowserAttribute(this.kALLOW_COLLAPSE, this.getTreePref('allowSubtreeCollapseExpand.'+orient) ? 'true' : null , b);
|
this.setTabbrowserAttribute(this.kALLOW_COLLAPSE, this.getTreePref('allowSubtreeCollapseExpand.'+orient) ? 'true' : null , b);
|
||||||
this.setTabbrowserAttribute(this.kHIDE_ALLTABS, this.getTreePref('tabbar.hideAlltabsButton.'+orient) ? 'true' : null , b);
|
this.setTabbrowserAttribute(this.kHIDE_ALLTABS, this.getTreePref('tabbar.hideAlltabsButton.'+orient) ? 'true' : null , b);
|
||||||
|
|
||||||
this.startRendering();
|
|
||||||
this.updateAllTabsIndent();
|
this.updateAllTabsIndent();
|
||||||
},
|
},
|
||||||
|
|
||||||
updateTabbarSize : function TSTBrowser_updateTabbarSize()
|
updateFloatingTabbar : function TSTBrowser_updateFloatingTabbar()
|
||||||
{
|
{
|
||||||
var placeholder = this.placeholder;
|
var placeholder = this.placeholder;
|
||||||
if (!placeholder) return;
|
if (!placeholder) return;
|
||||||
|
|
||||||
var strip = this.tabStrip;
|
var strip = this.tabStrip;
|
||||||
var tabContainer = this.mTabBrowser.tabContainer;
|
var tabContainer = this.mTabBrowser.tabContainer;
|
||||||
|
var positioned = false;
|
||||||
if (this.currentTabbarPosition != 'top' ||
|
if (this.currentTabbarPosition != 'top' ||
|
||||||
this.mTabBrowser.getAttribute(this.kFIXED) != 'true') {
|
this.mTabBrowser.getAttribute(this.kFIXED) != 'true') {
|
||||||
|
positioned = true;
|
||||||
|
|
||||||
let box = placeholder.boxObject;
|
let box = placeholder.boxObject;
|
||||||
let root = document.documentElement.boxObject;
|
let root = document.documentElement.boxObject;
|
||||||
strip.style.top = (box.screenY - root.screenY)+'px';
|
strip.style.top = (box.screenY - root.screenY)+'px';
|
||||||
@ -1175,6 +1179,27 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
|
|
||||||
tabContainer.collapsed = (this.splitter && this.splitter.getAttribute('state') == 'collapsed');
|
tabContainer.collapsed = (this.splitter && this.splitter.getAttribute('state') == 'collapsed');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var toolbox = strip.parentNode;
|
||||||
|
if (toolbox.localName != 'toolbox')
|
||||||
|
return;
|
||||||
|
|
||||||
|
// hack to reset the height of the toolbox
|
||||||
|
var height = 0;
|
||||||
|
Array.slice(toolbox.childNodes).forEach(function(aNode) {
|
||||||
|
if (aNode.nodeType == Node.ELEMENT_NODE && (aNode != strip || !positioned))
|
||||||
|
height += aNode.boxObject.height;
|
||||||
|
});
|
||||||
|
if (height != toolbox.boxObject.height) {
|
||||||
|
this.stopRendering();
|
||||||
|
// "height" attribute of the toolbar prevents rendering of the toolbox with its correct height.
|
||||||
|
strip.removeAttribute('height');
|
||||||
|
toolbox.setAttribute('height', height);
|
||||||
|
window.setTimeout(function(aSelf) {
|
||||||
|
toolbox.removeAttribute('height');
|
||||||
|
aSelf.startRendering();
|
||||||
|
}, 0, this);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
updateTabbarOverflow : function TSTBrowser_updateTabbarOverflow()
|
updateTabbarOverflow : function TSTBrowser_updateTabbarOverflow()
|
||||||
@ -1452,7 +1477,7 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
this.placeholder.removeAttribute('width');
|
this.placeholder.removeAttribute('width');
|
||||||
this.placeholder.setAttribute('width', this.autoHide.widthFromMode);
|
this.placeholder.setAttribute('width', this.autoHide.widthFromMode);
|
||||||
}
|
}
|
||||||
this.updateTabbarSize();
|
this.updateFloatingTabbar();
|
||||||
}
|
}
|
||||||
this.checkTabsIndentOverflow();
|
this.checkTabsIndentOverflow();
|
||||||
break;
|
break;
|
||||||
@ -2591,7 +2616,7 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
)
|
)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
this.updateTabbarSize();
|
this.updateFloatingTabbar();
|
||||||
},
|
},
|
||||||
|
|
||||||
onPopupShowing : function TSTBrowser_onPopupShowing(aEvent)
|
onPopupShowing : function TSTBrowser_onPopupShowing(aEvent)
|
||||||
|
@ -492,10 +492,9 @@ TreeStyleTabBrowserAutoHide.prototype = {
|
|||||||
case this.kMODE_SHRINK:
|
case this.kMODE_SHRINK:
|
||||||
if (pos == 'left' || pos == 'right') {
|
if (pos == 'left' || pos == 'right') {
|
||||||
sv.tabStrip.width = this.getTreePref('tabbar.width');
|
sv.tabStrip.width = this.getTreePref('tabbar.width');
|
||||||
if (sv.placeholder) {
|
if (sv.placeholder)
|
||||||
sv.placeholder.width = sv.tabStrip.width;
|
sv.placeholder.width = sv.tabStrip.width;
|
||||||
sv.updateTabbarSize();
|
sv.updateFloatingTabbar();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -527,10 +526,9 @@ TreeStyleTabBrowserAutoHide.prototype = {
|
|||||||
sv.setTabbrowserAttribute(this.kSTATE, this.kSTATE_SHRUNKEN, b);
|
sv.setTabbrowserAttribute(this.kSTATE, this.kSTATE_SHRUNKEN, b);
|
||||||
if (pos == 'left' || pos == 'right') {
|
if (pos == 'left' || pos == 'right') {
|
||||||
sv.tabStrip.width = this.getTreePref('tabbar.shrunkenWidth');
|
sv.tabStrip.width = this.getTreePref('tabbar.shrunkenWidth');
|
||||||
if (sv.placeholder) {
|
if (sv.placeholder)
|
||||||
sv.placeholder.width = sv.tabStrip.width;
|
sv.placeholder.width = sv.tabStrip.width;
|
||||||
sv.updateTabbarSize();
|
sv.updateFloatingTabbar();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user