複数のタブが閉じられようとしている時、条件によっては操作をキャンセルできるようにした
git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@5650 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
e18a267860
commit
45b1e6473c
@ -1413,7 +1413,8 @@ TreeStyleTabBrowser.prototype = {
|
||||
|
||||
|
||||
case 'MultipleTabHandlerTabsClosing':
|
||||
this.onTabsRemoved(aEvent.tabs);
|
||||
if (!this.onTabsRemoving(aEvent))
|
||||
aEvent.preventDefault();
|
||||
return;
|
||||
}
|
||||
},
|
||||
@ -1747,11 +1748,26 @@ TreeStyleTabBrowser.prototype = {
|
||||
this.getPreviousVisibleTab(aTab);
|
||||
},
|
||||
|
||||
onTabsRemoved : function TSTBrowser_onTabsRemoved(aTabs)
|
||||
onTabsRemoving : function TSTBrowser_onTabsRemoving(aEvent)
|
||||
{
|
||||
this.splitTabsToSubtrees(aTabs).forEach(function(aTabs) {
|
||||
var b = this.getTabBrowserFromChild(aEvent.tabs[0]);
|
||||
|
||||
var trees = this.splitTabsToSubtrees(aEvent.tabs);
|
||||
if (trees.some(function(aTabs) {
|
||||
return aTabs.length > 1 &&
|
||||
!this.fireTabSubtreeClosingEvent(aTabs[0], aTabs);
|
||||
}, this))
|
||||
return false;
|
||||
|
||||
trees.forEach(function(aTabs) {
|
||||
this.markAsClosedSet(aTabs);
|
||||
}, this);
|
||||
|
||||
window.setTimeout(function(aSelf) {
|
||||
trees.forEach(function(aTabs) {
|
||||
aSelf.fireTabSubtreeClosedEvent(b, aTabs[0], aTabs);
|
||||
});
|
||||
}, 0, this);
|
||||
},
|
||||
|
||||
onTabMove : function TSTBrowser_onTabMove(aEvent)
|
||||
|
Loading…
Reference in New Issue
Block a user