タブの追加、削除、移動時に常に前後のタブの情報を更新するように
git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@4675 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
28a91a3a86
commit
4f5597e611
@ -1003,13 +1003,7 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
|
|
||||||
var b = this.mTabBrowser;
|
var b = this.mTabBrowser;
|
||||||
|
|
||||||
var tabs = this.getTabsArray(b);
|
this.getTabsArray(b).forEach(function(aTab) {
|
||||||
tabs.forEach(function(aTab) {
|
|
||||||
let next = this.getNextSiblingTab(aTab);
|
|
||||||
if (next)
|
|
||||||
this.setTabValue(aTab, this.kINSERT_BEFORE, next.getAttribute(this.kID));
|
|
||||||
}, this);
|
|
||||||
tabs.forEach(function(aTab) {
|
|
||||||
this.destroyTab(aTab);
|
this.destroyTab(aTab);
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
@ -1426,6 +1420,10 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
this.updateTabCollapsed(tab, false);
|
this.updateTabCollapsed(tab, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var prev = this.getPreviousSiblingTab(tab);
|
||||||
|
if (prev)
|
||||||
|
this.setTabValue(prev, this.kINSERT_BEFORE, tab.getAttribute(this.kID));
|
||||||
|
|
||||||
this.showTabbarForFeedback();
|
this.showTabbarForFeedback();
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1462,6 +1460,14 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
if (next)
|
if (next)
|
||||||
this.setTabValue(tab, this.kINSERT_BEFORE, next.getAttribute(this.kID));
|
this.setTabValue(tab, this.kINSERT_BEFORE, next.getAttribute(this.kID));
|
||||||
|
|
||||||
|
var prev = this.getPreviousSiblingTab(tab);
|
||||||
|
if (prev) {
|
||||||
|
if (next)
|
||||||
|
this.setTabValue(prev, this.kINSERT_BEFORE, next.getAttribute(this.kID));
|
||||||
|
else
|
||||||
|
this.deleteTabValue(prev, this.kINSERT_BEFORE);
|
||||||
|
}
|
||||||
|
|
||||||
var backupAttributes = {};
|
var backupAttributes = {};
|
||||||
var indentModifiedTabs = [];
|
var indentModifiedTabs = [];
|
||||||
|
|
||||||
@ -1601,11 +1607,8 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
var b = this.mTabBrowser;
|
var b = this.mTabBrowser;
|
||||||
this.initTabContents(tab); // twisty vanished after the tab is moved!!
|
this.initTabContents(tab); // twisty vanished after the tab is moved!!
|
||||||
|
|
||||||
// var rebuildTreeDone = false;
|
|
||||||
|
|
||||||
if (this.hasChildTabs(tab) && !this.isSubTreeMoving) {
|
if (this.hasChildTabs(tab) && !this.isSubTreeMoving) {
|
||||||
this.moveTabSubTreeTo(tab, tab._tPos);
|
this.moveTabSubTreeTo(tab, tab._tPos);
|
||||||
// rebuildTreeDone = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var parentTab = this.getParentTab(tab);
|
var parentTab = this.getParentTab(tab);
|
||||||
@ -1615,8 +1618,22 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
|
|
||||||
this.updateTabsCount(tab, true);
|
this.updateTabsCount(tab, true);
|
||||||
|
|
||||||
|
var next = this.getNextSiblingTab(tab);
|
||||||
|
if (next)
|
||||||
|
this.setTabValue(tab, this.kINSERT_BEFORE, next.getAttribute(this.kID));
|
||||||
|
else
|
||||||
|
this.deleteTabValue(tab, this.kINSERT_BEFORE);
|
||||||
|
|
||||||
|
var old = aEvent.detail;
|
||||||
|
if (old > tab._tPos) old--;
|
||||||
|
old = this.getTabs(b).snapshotItem(old);
|
||||||
|
next = this.getNextSiblingTab(old);
|
||||||
|
if (next)
|
||||||
|
this.setTabValue(old, this.kINSERT_BEFORE, next.getAttribute(this.kID));
|
||||||
|
else
|
||||||
|
this.deleteTabValue(old, this.kINSERT_BEFORE);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
// rebuildTreeDone ||
|
|
||||||
this.isSubTreeMoving ||
|
this.isSubTreeMoving ||
|
||||||
this.internallyTabMoving
|
this.internallyTabMoving
|
||||||
)
|
)
|
||||||
@ -1811,7 +1828,6 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
if (newPos > -1)
|
if (newPos > -1)
|
||||||
b.moveTabTo(tab, newPos);
|
b.moveTabTo(tab, newPos);
|
||||||
}
|
}
|
||||||
this.deleteTabValue(tab, this.kINSERT_BEFORE);
|
|
||||||
|
|
||||||
if (isSubTreeCollapsed) {
|
if (isSubTreeCollapsed) {
|
||||||
this.collapseExpandSubtree(tab, isSubTreeCollapsed, aWithoutAnimation);
|
this.collapseExpandSubtree(tab, isSubTreeCollapsed, aWithoutAnimation);
|
||||||
|
Loading…
Reference in New Issue
Block a user