ひとつのブックマークフォルダの中に2つ以上親タブが定義されており、すべての親タブが子を持っている場合、ダミーのタブを開かないようにした

git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@5569 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
piro 2009-12-20 19:11:14 +00:00
parent 89e7ea0a51
commit d07d08935f

View File

@ -204,12 +204,22 @@ var TreeStyleTabBookmarksService = {
TreeStyleTabBookmarksService.getTreeStructureFromItems(ids) ;
if (
treeStructure &&
openGroupBookmarkBehavior & TreeStyleTabBookmarksService.kGROUP_BOOKMARK_USE_DUMMY &&
treeStructure.filter(function(aParent, aIndex) { return aParent == -1; }).length > 1
openGroupBookmarkBehavior & TreeStyleTabBookmarksService.kGROUP_BOOKMARK_USE_DUMMY
) {
ids.unshift(-1);
treeStructure = TreeStyleTabBookmarksService.getTreeStructureFromItems(ids, 0);
urls.unshift(TreeStyleTabBookmarksService.getGroupTabURI(aFolderTitle));
let parentCount = 0;
let childCount = 0;
treeStructure.forEach(function(aParent, aIndex) {
if (aParent == -1)
parentCount++;
else
childCount++;
});
// when there is any orphan, then all of parents and orphans should be grouped under a dummy tab.
if (parentCount > 1 && childCount < parentCount) {
ids.unshift(-1);
treeStructure = TreeStyleTabBookmarksService.getTreeStructureFromItems(ids, 0);
urls.unshift(TreeStyleTabBookmarksService.getGroupTabURI(aFolderTitle));
}
}
TreeStyleTabBookmarksService.readyToOpenNewTabGroup(null, treeStructure);
replaceCurrentTab = false;