ColorfulTabsを導入している場合、子供のタブは親のタブの色を継承するようにした

git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@1951 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
piro 2008-02-28 07:45:39 +00:00
parent ccf7687592
commit f88984a12e
3 changed files with 39 additions and 4 deletions

View File

@ -495,4 +495,20 @@ TreeStyleTabService.overrideExtensionsOnInitAfter = function() {
); );
} }
// ColorfulTab
if ('clrtabsInit' in window) {
this.registerAttachTabPostProcess(function(aChild, aParent, aService) {
if (aChild && aParent) {
setColor(aChild, aService.SessionStore.getTabValue(aParent, 'tabClr'));
}
else if (aChild) {
aService.SessionStore.setTabValue(aChild, 'tabClr', '')
calcTabClr({
target : aChild,
originalTarget : aChild,
});
}
});
}
}; };

View File

@ -477,7 +477,7 @@ var TreeStyleTabService = {
this.setTreePref('enableSubtreeIndent', vertical); this.setTreePref('enableSubtreeIndent', vertical);
this.setTreePref('allowSubtreeCollapseExpand', vertical); this.setTreePref('allowSubtreeCollapseExpand', vertical);
}, },
/* get tab(s) */ /* get tab(s) */
getTabById : function(aId, aTabBrowserChildren) getTabById : function(aId, aTabBrowserChildren)
@ -1189,7 +1189,7 @@ catch(e) {
}, },
/* Event Handling */ /* Event Handling */
handleEvent : function(aEvent) handleEvent : function(aEvent)
{ {
switch (aEvent.type) switch (aEvent.type)
@ -1438,7 +1438,13 @@ catch(e) {
(aCollapse ? 'collapse' : 'open' ) (aCollapse ? 'collapse' : 'open' )
); );
}, },
registerAttachTabPostProcess : function(aProcess)
{
this._attachTabPostProcesses.push(aProcess);
},
_attachTabPostProcesses : [],
/* Pref Listener */ /* Pref Listener */
domain : 'extensions.treestyletab', domain : 'extensions.treestyletab',

View File

@ -1992,8 +1992,10 @@ TreeStyleTabBrowser.prototype = {
!aParent || !aParent ||
aChild == aParent || aChild == aParent ||
this.getParentTab(aChild) == aParent this.getParentTab(aChild) == aParent
) ) {
this.attachTabPostProcess(aChild, aParent);
return; return;
}
if (!aInfo) aInfo = {}; if (!aInfo) aInfo = {};
@ -2072,6 +2074,15 @@ TreeStyleTabBrowser.prototype = {
this.updateTabsIndent([aChild]); this.updateTabsIndent([aChild]);
this.checkTabsIndentOverflow(); this.checkTabsIndentOverflow();
} }
this.attachTabPostProcess(aChild, aParent);
},
attachTabPostProcess : function(aChild, aParent)
{
var self = this;
this._attachTabPostProcesses.forEach(function(aProcess) {
aProcess(aChild, aParent, self);
});
}, },
partTab : function(aChild, aDontUpdateIndent) partTab : function(aChild, aDontUpdateIndent)
@ -2093,6 +2104,8 @@ TreeStyleTabBrowser.prototype = {
this.updateTabsIndent([aChild]); this.updateTabsIndent([aChild]);
this.checkTabsIndentOverflow(); this.checkTabsIndentOverflow();
} }
this.attachTabPostProcess(aChild, null);
}, },
updateTabsIndent : function(aTabs, aLevel, aProp) updateTabsIndent : function(aTabs, aLevel, aProp)