新しく開かれたタブについて、そのタブが見える位置までスクロールした時に現在のタブがスクロールアウトしてしまわないのであれば、そのタブの位置までスクロールするようにした
git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@7032 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
6f54d8beba
commit
32cb03d981
@ -2046,6 +2046,8 @@ TreeStyleTabBrowser.prototype = {
|
||||
}, 0, this);
|
||||
}
|
||||
|
||||
this.scrollToTab(tab, true);
|
||||
|
||||
return true;
|
||||
},
|
||||
_checkRestoringWindowTimerOnTabAdded : null,
|
||||
@ -4553,7 +4555,7 @@ TreeStyleTabBrowser.prototype = {
|
||||
},
|
||||
smoothScrollTask : null,
|
||||
|
||||
scrollToTab : function TSTBrowser_scrollToTab(aTab)
|
||||
scrollToTab : function TSTBrowser_scrollToTab(aTab, aOnlyWhenCurrentTabIsInViewport)
|
||||
{
|
||||
if (!aTab || !aTab.parentNode || this.isTabInViewport(aTab))
|
||||
return;
|
||||
@ -4583,6 +4585,13 @@ TreeStyleTabBrowser.prototype = {
|
||||
(targetTabBox.screenY + yOffset - baseTabBox.screenY) - (targetTabBox.height * 0.5) :
|
||||
(targetTabBox.screenY + yOffset - baseTabBox.screenY) - scrollBoxObject.height + (targetTabBox.height * 1.5) ;
|
||||
|
||||
if (aOnlyWhenCurrentTabIsInViewport && b.selectedTab != aTab) {
|
||||
let box = b.selectedTab.boxObject;
|
||||
if (targetTabBox.screenX - box.screenX + baseTabBox.width + xOffset > scrollBoxObject.width ||
|
||||
targetTabBox.screenY - box.screenY + baseTabBox.height + yOffset > scrollBoxObject.height)
|
||||
return;
|
||||
}
|
||||
|
||||
this.scrollTo(targetX, targetY);
|
||||
},
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user