From 0897c7a80459a4a1b4eb14ab4875ee39dbab58bf Mon Sep 17 00:00:00 2001 From: Nelo Wallus Date: Fri, 8 Jan 2016 19:44:12 +0100 Subject: [PATCH 1/5] Fix typo --- plugins/contrib/treestyletabs.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/contrib/treestyletabs.js b/plugins/contrib/treestyletabs.js index 6497ff87..216631d4 100644 --- a/plugins/contrib/treestyletabs.js +++ b/plugins/contrib/treestyletabs.js @@ -27,9 +27,9 @@ var INFO = [ // pass true to close, false to open function fold_collapse_expand_target(tab, collapse, children = false) { if (children) { - let childs = TreeStyleTabService.getDescendantTabs(tab); - for (let x in childs) { - gBrowser.treeStyleTab.collapseExpandSubtree(childs[x], collapse); + let children = TreeStyleTabService.getDescendantTabs(tab); + for (let x in children) { + gBrowser.treeStyleTab.collapseExpandSubtree(children[x], collapse); } } gBrowser.treeStyleTab.collapseExpandSubtree(tab, collapse); From dc136dc30befdc715329779ba87cffff31282165 Mon Sep 17 00:00:00 2001 From: Nelo Wallus Date: Fri, 8 Jan 2016 19:45:08 +0100 Subject: [PATCH 2/5] Allow to pass options for commands --- plugins/contrib/treestyletabs.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/contrib/treestyletabs.js b/plugins/contrib/treestyletabs.js index 216631d4..2e8fd870 100644 --- a/plugins/contrib/treestyletabs.js +++ b/plugins/contrib/treestyletabs.js @@ -50,8 +50,8 @@ function fold_collapse_expand_toggle(children = false) { ); } -function create_command_and_mapping(command, description, funcref, mapping) { - group.commands.add([command], description, funcref, {}, true ); +function create_command_and_mapping(command, description, funcref, mapping, command_option = {}) { + group.commands.add([command], description, funcref, command_option, true ); if (mapping != "") group.mappings.add([modes.NORMAL], [mapping], description, funcref); } From d7bc7cb3bfa54ad3afd01c9b37ced69b2382a377 Mon Sep 17 00:00:00 2001 From: Nelo Wallus Date: Fri, 8 Jan 2016 19:50:55 +0100 Subject: [PATCH 3/5] Fix 'ga' not properly closing parent fold --- plugins/contrib/treestyletabs.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/contrib/treestyletabs.js b/plugins/contrib/treestyletabs.js index 2e8fd870..166a370b 100644 --- a/plugins/contrib/treestyletabs.js +++ b/plugins/contrib/treestyletabs.js @@ -36,8 +36,15 @@ function fold_collapse_expand_target(tab, collapse, children = false) { } function fold_collapse_expand(collapse, children = false) { + let tab = gBrowser.tabContainer.selectedItem; + + if (!TreeStyleTabService.hasChildTabs(tab)) { + let tab = TreeStyleTabService.getParentTab(tab); + collapse = TreeStyleTabService.isSubtreeCollapsed(tab); + } + fold_collapse_expand_target( - gBrowser.tabContainer.selectedItem, + tab, collapse, children ); From d8e002fb4369c26a117b5e68ae3c6bc5c433b54f Mon Sep 17 00:00:00 2001 From: Nelo Wallus Date: Fri, 8 Jan 2016 19:53:06 +0100 Subject: [PATCH 4/5] Fix to handle multiple arguments and allow completion --- plugins/contrib/treestyletabs.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/plugins/contrib/treestyletabs.js b/plugins/contrib/treestyletabs.js index 166a370b..9d3ef112 100644 --- a/plugins/contrib/treestyletabs.js +++ b/plugins/contrib/treestyletabs.js @@ -163,8 +163,23 @@ create_command_and_mapping( "tabchildopen", "Open one or more URLs in a new child tab", function (args) { - TreeStyleTabService.readyToOpenChildTab(); - dactyl.open(args, { where: dactyl.NEW_TAB }); + let tab = gBrowser.tabContainer.selectedItem; + TreeStyleTabService.readyToOpenChildTab(tab, true); + dactyl.open(args[0] || "about:blank", + { from: "tabopen", where: dactyl.NEW_TAB, background: args.bang }); + TreeStyleTabService.stopToOpenChildTab(); + }, + "", + { + bang: true, + completer: function (context) { + completion.url(context); + }, + domains: function (args) { + return commands.get("open").domains(args); + }, + literal: 0, + privateData: true }, "" ); From 627c5ae9a1093140edf892c7749209367072cb47 Mon Sep 17 00:00:00 2001 From: Nelo Wallus Date: Fri, 8 Jan 2016 19:53:59 +0100 Subject: [PATCH 5/5] Add tabbartoggle, tabclosechildren, tabclosewithchildren --- plugins/contrib/treestyletabs.js | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/plugins/contrib/treestyletabs.js b/plugins/contrib/treestyletabs.js index 9d3ef112..ece387c4 100644 --- a/plugins/contrib/treestyletabs.js +++ b/plugins/contrib/treestyletabs.js @@ -180,6 +180,41 @@ create_command_and_mapping( }, literal: 0, privateData: true + } + ); + +create_command_and_mapping( + "tabbartoggle", + "Toggle tab bar", + function () { + gBrowser.treeStyleTab.tabbarShown=!gBrowser.treeStyleTab.tabbarShown; }, "" ); + +create_command_and_mapping( + "tabclosechildren", + "Close children of current tab", + function () { + let tab = gBrowser.tabContainer.selectedItem; + let children = TreeStyleTabService.getDescendantTabs(tab); + for (let child in children) { + config.removeTab(children[child]); + } + }, + "" + ) + +create_command_and_mapping( + "tabclosewithchildren", + "Close children and current tab", + function () { + let tab = gBrowser.tabContainer.selectedItem; + let children = TreeStyleTabService.getDescendantTabs(tab); + for (let child in children) { + config.removeTab(children[child]); + } + config.removeTab(tab); + }, + "" + )