* 「このツリーを再読み込み」「このタブの子タブをすべて再読み込み」追加
* タブのコンテキストメニューに挿入されるメニュー項目の並びがおかしくなっていたのを修正 git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@4635 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
a4d2e907f1
commit
24874a4402
@ -180,6 +180,12 @@
|
|||||||
<preference id="extensions.treestyletab.show.openSelectionLinks"
|
<preference id="extensions.treestyletab.show.openSelectionLinks"
|
||||||
name="extensions.treestyletab.show.openSelectionLinks"
|
name="extensions.treestyletab.show.openSelectionLinks"
|
||||||
type="bool"/>
|
type="bool"/>
|
||||||
|
<preference id="extensions.treestyletab.show.context-item-reloadTabSubTree"
|
||||||
|
name="extensions.treestyletab.show.context-item-reloadTabSubTree"
|
||||||
|
type="bool"/>
|
||||||
|
<preference id="extensions.treestyletab.show.context-item-reloadDescendantTabs"
|
||||||
|
name="extensions.treestyletab.show.context-item-reloadDescendantTabs"
|
||||||
|
type="bool"/>
|
||||||
<preference id="extensions.treestyletab.show.context-item-removeTabSubTree"
|
<preference id="extensions.treestyletab.show.context-item-removeTabSubTree"
|
||||||
name="extensions.treestyletab.show.context-item-removeTabSubTree"
|
name="extensions.treestyletab.show.context-item-removeTabSubTree"
|
||||||
type="bool"/>
|
type="bool"/>
|
||||||
@ -210,6 +216,14 @@
|
|||||||
|
|
||||||
<groupbox orient="vertical">
|
<groupbox orient="vertical">
|
||||||
<caption label="&config.show.tabContextMenu.caption;"/>
|
<caption label="&config.show.tabContextMenu.caption;"/>
|
||||||
|
<hbox align="center">
|
||||||
|
<checkbox id="extensions.treestyletab.show.context-item-reloadTabSubTree-check"
|
||||||
|
preference="extensions.treestyletab.show.context-item-reloadTabSubTree"
|
||||||
|
label="&context.reloadTabSubTree.label;"/>
|
||||||
|
<checkbox id="extensions.treestyletab.show.context-item-reloadDescendantTabs-check"
|
||||||
|
preference="extensions.treestyletab.show.context-item-reloadDescendantTabs"
|
||||||
|
label="&context.reloadDescendantTabs.label;"/>
|
||||||
|
</hbox>
|
||||||
<hbox align="center">
|
<hbox align="center">
|
||||||
<checkbox id="extensions.treestyletab.show.context-item-removeTabSubTree-check"
|
<checkbox id="extensions.treestyletab.show.context-item-removeTabSubTree-check"
|
||||||
preference="extensions.treestyletab.show.context-item-removeTabSubTree"
|
preference="extensions.treestyletab.show.context-item-removeTabSubTree"
|
||||||
|
@ -2035,26 +2035,11 @@ catch(e) {
|
|||||||
|
|
||||||
removeTabSubTree : function(aTabOrTabs, aOnlyChildren)
|
removeTabSubTree : function(aTabOrTabs, aOnlyChildren)
|
||||||
{
|
{
|
||||||
var tabs = aTabOrTabs;
|
var tabs = this._normalizeToTabs(aTabOrTabs, aOnlyChildren);
|
||||||
if (!(tabs instanceof Array)) {
|
|
||||||
tabs = [aTabOrTabs];
|
|
||||||
}
|
|
||||||
|
|
||||||
var b = this.getTabBrowserFromChild(tabs[0]);
|
|
||||||
var descendant = [];
|
|
||||||
for (var i = 0, maxi = tabs.length; i < maxi; i++)
|
|
||||||
{
|
|
||||||
descendant = descendant.concat(b.treeStyleTab.getDescendantTabs(tabs[i]));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (aOnlyChildren)
|
|
||||||
tabs = this.cleanUpTabsArray(descendant);
|
|
||||||
else
|
|
||||||
tabs = this.cleanUpTabsArray(tabs.concat(descendant));
|
|
||||||
|
|
||||||
if (!this.warnAboutClosingTabs(tabs.length))
|
if (!this.warnAboutClosingTabs(tabs.length))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
var b = this.getTabBrowserFromChild(tabs[0]);
|
||||||
for (var i = tabs.length-1; i > -1; i--)
|
for (var i = tabs.length-1; i > -1; i--)
|
||||||
{
|
{
|
||||||
b.removeTab(tabs[i]);
|
b.removeTab(tabs[i]);
|
||||||
@ -2087,6 +2072,28 @@ catch(e) {
|
|||||||
return shouldClose;
|
return shouldClose;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_normalizeToTabs : function(aTabOrTabs, aOnlyChildren)
|
||||||
|
{
|
||||||
|
var tabs = aTabOrTabs;
|
||||||
|
if (!(tabs instanceof Array)) {
|
||||||
|
tabs = [aTabOrTabs];
|
||||||
|
}
|
||||||
|
|
||||||
|
var b = this.getTabBrowserFromChild(tabs[0]);
|
||||||
|
var descendant = [];
|
||||||
|
for (var i = 0, maxi = tabs.length; i < maxi; i++)
|
||||||
|
{
|
||||||
|
descendant = descendant.concat(b.treeStyleTab.getDescendantTabs(tabs[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (aOnlyChildren)
|
||||||
|
tabs = this.cleanUpTabsArray(descendant);
|
||||||
|
else
|
||||||
|
tabs = this.cleanUpTabsArray(tabs.concat(descendant));
|
||||||
|
|
||||||
|
return tabs;
|
||||||
|
},
|
||||||
|
|
||||||
cleanUpTabsArray : function(aTabs)
|
cleanUpTabsArray : function(aTabs)
|
||||||
{
|
{
|
||||||
var newTabs = [];
|
var newTabs = [];
|
||||||
@ -2100,6 +2107,16 @@ catch(e) {
|
|||||||
return newTabs;
|
return newTabs;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
reloadTabSubTree : function(aTabOrTabs, aOnlyChildren)
|
||||||
|
{
|
||||||
|
var tabs = this._normalizeToTabs(aTabOrTabs, aOnlyChildren);
|
||||||
|
var b = this.getTabBrowserFromChild(tabs[0]);
|
||||||
|
for (var i = tabs.length-1; i > -1; i--)
|
||||||
|
{
|
||||||
|
b.reloadTab(tabs[i]);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
bookmarkTabSubTree : function(aTabOrTabs)
|
bookmarkTabSubTree : function(aTabOrTabs)
|
||||||
{
|
{
|
||||||
var tabs = aTabOrTabs;
|
var tabs = aTabOrTabs;
|
||||||
|
@ -55,6 +55,31 @@
|
|||||||
<popupset id="mainPopupSet">
|
<popupset id="mainPopupSet">
|
||||||
<menupopup id="multipletab-tabcontext-menu-template">
|
<menupopup id="multipletab-tabcontext-menu-template">
|
||||||
|
|
||||||
|
<menuitem id="context-item-reloadTabSubTree"
|
||||||
|
label="&context.reloadTabSubTree.label;"
|
||||||
|
accesskey="&context.reloadTabSubTree.accesskey;"
|
||||||
|
oncommand="TreeStyleTabService.reloadTabSubTree(TreeStyleTabService.getTabBrowserFromChild(this).mContextTab);"
|
||||||
|
onclick="if (event.button == 1 || (event.button == 0 && TreeStyleTabService.isAccelKeyPressed(event))) {
|
||||||
|
TreeStyleTabService.reloadTabSubTree(TreeStyleTabService.getTabBrowserFromChild(this).mContextTab, true);
|
||||||
|
event.stopPropagation();
|
||||||
|
this.parentNode.hidePopup();
|
||||||
|
}"
|
||||||
|
multipletab-insertafter="TreeStyleTabService.evaluateXPath(
|
||||||
|
"descendant::*[starts-with(@id, 'context_reloadTab')][1]"
|
||||||
|
, tabContextMenu, XPathResult.FIRST_ORDERED_NODE_TYPE).singleNodeValue"/>
|
||||||
|
<menuitem id="context-item-reloadDescendantTabs"
|
||||||
|
label="&context.reloadDescendantTabs.label;"
|
||||||
|
accesskey="&context.reloadDescendantTabs.accesskey;"
|
||||||
|
oncommand="TreeStyleTabService.reloadTabSubTree(TreeStyleTabService.getTabBrowserFromChild(this).mContextTab, true);"
|
||||||
|
onclick="if (event.button == 1 || (event.button == 0 && TreeStyleTabService.isAccelKeyPressed(event))) {
|
||||||
|
TreeStyleTabService.reloadTabSubTree(TreeStyleTabService.getTabBrowserFromChild(this).mContextTab);
|
||||||
|
event.stopPropagation();
|
||||||
|
this.parentNode.hidePopup();
|
||||||
|
}"
|
||||||
|
multipletab-insertafter="TreeStyleTabService.evaluateXPath(
|
||||||
|
"descendant::*[starts-with(@id, 'context-item-reloadTabSubTree')][1]"
|
||||||
|
, tabContextMenu, XPathResult.FIRST_ORDERED_NODE_TYPE).singleNodeValue"/>
|
||||||
|
|
||||||
<menuitem id="context-item-removeTabSubTree"
|
<menuitem id="context-item-removeTabSubTree"
|
||||||
label="&context.removeTabSubTree.label;"
|
label="&context.removeTabSubTree.label;"
|
||||||
accesskey="&context.removeTabSubTree.accesskey;"
|
accesskey="&context.removeTabSubTree.accesskey;"
|
||||||
|
@ -9,6 +9,8 @@ function TreeStyleTabBrowser(aTabBrowser)
|
|||||||
|
|
||||||
TreeStyleTabBrowser.prototype = {
|
TreeStyleTabBrowser.prototype = {
|
||||||
|
|
||||||
|
kMENUITEM_RELOADSUBTREE : 'context-item-reloadTabSubTree',
|
||||||
|
kMENUITEM_RELOADCHILDREN : 'context-item-reloadDescendantTabs',
|
||||||
kMENUITEM_REMOVESUBTREE : 'context-item-removeTabSubTree',
|
kMENUITEM_REMOVESUBTREE : 'context-item-removeTabSubTree',
|
||||||
kMENUITEM_REMOVECHILDREN : 'context-item-removeDescendantTabs',
|
kMENUITEM_REMOVECHILDREN : 'context-item-removeDescendantTabs',
|
||||||
kMENUITEM_COLLAPSEEXPAND_SEPARATOR : 'context-separator-collapseExpandAll',
|
kMENUITEM_COLLAPSEEXPAND_SEPARATOR : 'context-separator-collapseExpandAll',
|
||||||
@ -522,6 +524,8 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
window.setTimeout(function(aSelf, aTabBrowser, aPopup) {
|
window.setTimeout(function(aSelf, aTabBrowser, aPopup) {
|
||||||
let suffix = '-tabbrowser-'+(aTabBrowser.id || 'instance-'+parseInt(Math.random() * 65000));
|
let suffix = '-tabbrowser-'+(aTabBrowser.id || 'instance-'+parseInt(Math.random() * 65000));
|
||||||
[
|
[
|
||||||
|
aSelf.kMENUITEM_RELOADSUBTREE,
|
||||||
|
aSelf.kMENUITEM_RELOADCHILDREN,
|
||||||
aSelf.kMENUITEM_REMOVESUBTREE,
|
aSelf.kMENUITEM_REMOVESUBTREE,
|
||||||
aSelf.kMENUITEM_REMOVECHILDREN,
|
aSelf.kMENUITEM_REMOVECHILDREN,
|
||||||
aSelf.kMENUITEM_COLLAPSEEXPAND_SEPARATOR,
|
aSelf.kMENUITEM_COLLAPSEEXPAND_SEPARATOR,
|
||||||
@ -555,10 +559,13 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
}
|
}
|
||||||
aPopup.insertBefore(item, refNode || null);
|
aPopup.insertBefore(item, refNode || null);
|
||||||
});
|
});
|
||||||
|
tabContextMenu = null;
|
||||||
}, 0, this, b, tabContextMenu);
|
}, 0, this, b, tabContextMenu);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
tabContextMenu = null;
|
tabContextMenu = null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let (allTabPopup) {
|
let (allTabPopup) {
|
||||||
allTabPopup = document.getAnonymousElementByAttribute(b.mTabContainer, 'anonid', 'alltabs-popup');
|
allTabPopup = document.getAnonymousElementByAttribute(b.mTabContainer, 'anonid', 'alltabs-popup');
|
||||||
@ -2025,30 +2032,32 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
initTabContextMenu : function(aEvent)
|
initTabContextMenu : function(aEvent)
|
||||||
{
|
{
|
||||||
var b = this.mTabBrowser;
|
var b = this.mTabBrowser;
|
||||||
var item, sep;
|
var sep, items = {};
|
||||||
|
|
||||||
// remove subtree
|
[
|
||||||
item = this.evaluateXPath(
|
this.kMENUITEM_RELOADSUBTREE,
|
||||||
'descendant::xul:menuitem[starts-with(@id, "'+this.kMENUITEM_REMOVESUBTREE+'")]',
|
this.kMENUITEM_RELOADCHILDREN,
|
||||||
|
this.kMENUITEM_REMOVESUBTREE,
|
||||||
|
this.kMENUITEM_REMOVECHILDREN,
|
||||||
|
this.kMENUITEM_COLLAPSE,
|
||||||
|
this.kMENUITEM_EXPAND,
|
||||||
|
this.kMENUITEM_AUTOHIDE,
|
||||||
|
this.kMENUITEM_FIXED,
|
||||||
|
this.kMENUITEM_POSITION,
|
||||||
|
this.kMENUITEM_BOOKMARKSUBTREE
|
||||||
|
].forEach(function(aID) {
|
||||||
|
let item = this.evaluateXPath(
|
||||||
|
'descendant::xul:*[starts-with(@id, "'+aID+'")]',
|
||||||
aEvent.currentTarget,
|
aEvent.currentTarget,
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
XPathResult.FIRST_ORDERED_NODE_TYPE
|
||||||
).singleNodeValue;
|
).singleNodeValue;
|
||||||
if (this.getTreePref('show.'+this.kMENUITEM_REMOVESUBTREE))
|
items[aID] = item;
|
||||||
item.removeAttribute('hidden');
|
if (this.getTreePref('show.'+aID))
|
||||||
else
|
|
||||||
item.setAttribute('hidden', true);
|
|
||||||
this.showHideSubTreeMenuItem(item, [b.mContextTab]);
|
|
||||||
|
|
||||||
item = this.evaluateXPath(
|
|
||||||
'descendant::xul:menuitem[starts-with(@id, "'+this.kMENUITEM_REMOVECHILDREN+'")]',
|
|
||||||
aEvent.currentTarget,
|
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
|
||||||
).singleNodeValue;
|
|
||||||
if (this.getTreePref('show.'+this.kMENUITEM_REMOVECHILDREN))
|
|
||||||
item.removeAttribute('hidden');
|
item.removeAttribute('hidden');
|
||||||
else
|
else
|
||||||
item.setAttribute('hidden', true);
|
item.setAttribute('hidden', true);
|
||||||
this.showHideSubTreeMenuItem(item, [b.mContextTab]);
|
this.showHideSubTreeMenuItem(item, [b.mContextTab]);
|
||||||
|
}, this);
|
||||||
|
|
||||||
// collapse/expand all
|
// collapse/expand all
|
||||||
sep = this.evaluateXPath(
|
sep = this.evaluateXPath(
|
||||||
@ -2056,52 +2065,28 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
aEvent.currentTarget,
|
aEvent.currentTarget,
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
XPathResult.FIRST_ORDERED_NODE_TYPE
|
||||||
).singleNodeValue;
|
).singleNodeValue;
|
||||||
var collapseItem = this.evaluateXPath(
|
var collapseItem = items[this.kMENUITEM_COLLAPSE];
|
||||||
'descendant::xul:menuitem[starts-with(@id, "'+this.kMENUITEM_COLLAPSE+'")]',
|
var expanndItem = items[this.kMENUITEM_EXPAND];
|
||||||
aEvent.currentTarget,
|
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
|
||||||
).singleNodeValue;
|
|
||||||
var expanndItem = this.evaluateXPath(
|
|
||||||
'descendant::xul:menuitem[starts-with(@id, "'+this.kMENUITEM_EXPAND+'")]',
|
|
||||||
aEvent.currentTarget,
|
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
|
||||||
).singleNodeValue;
|
|
||||||
if (this.evaluateXPath(
|
if (this.evaluateXPath(
|
||||||
'child::xul:tab[@'+this.kCHILDREN+']',
|
'child::xul:tab[@'+this.kCHILDREN+']',
|
||||||
b.mTabContainer
|
b.mTabContainer
|
||||||
).snapshotLength) {
|
).snapshotLength) {
|
||||||
if (this.getTreePref('show.'+this.kMENUITEM_COLLAPSE)) {
|
|
||||||
collapseItem.removeAttribute('hidden');
|
|
||||||
if (this.evaluateXPath(
|
if (this.evaluateXPath(
|
||||||
'child::xul:tab[@'+this.kCHILDREN+' and not(@'+this.kSUBTREE_COLLAPSED+'="true")]',
|
'child::xul:tab[@'+this.kCHILDREN+' and not(@'+this.kSUBTREE_COLLAPSED+'="true")]',
|
||||||
b.mTabContainer
|
b.mTabContainer
|
||||||
).snapshotLength) {
|
).snapshotLength)
|
||||||
collapseItem.removeAttribute('disabled');
|
collapseItem.removeAttribute('disabled');
|
||||||
}
|
else
|
||||||
else {
|
|
||||||
collapseItem.setAttribute('disabled', true);
|
collapseItem.setAttribute('disabled', true);
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
collapseItem.setAttribute('hidden', true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.getTreePref('show.'+this.kMENUITEM_EXPAND)) {
|
|
||||||
expanndItem.removeAttribute('hidden');
|
|
||||||
if (this.evaluateXPath(
|
if (this.evaluateXPath(
|
||||||
'child::xul:tab[@'+this.kCHILDREN+' and @'+this.kSUBTREE_COLLAPSED+'="true"]',
|
'child::xul:tab[@'+this.kCHILDREN+' and @'+this.kSUBTREE_COLLAPSED+'="true"]',
|
||||||
b.mTabContainer
|
b.mTabContainer
|
||||||
).snapshotLength) {
|
).snapshotLength)
|
||||||
expanndItem.removeAttribute('disabled');
|
expanndItem.removeAttribute('disabled');
|
||||||
}
|
else
|
||||||
else {
|
|
||||||
expanndItem.setAttribute('disabled', true);
|
expanndItem.setAttribute('disabled', true);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
|
||||||
expanndItem.setAttribute('hidden', true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
collapseItem.setAttribute('hidden', true);
|
collapseItem.setAttribute('hidden', true);
|
||||||
expanndItem.setAttribute('hidden', true);
|
expanndItem.setAttribute('hidden', true);
|
||||||
@ -2115,15 +2100,10 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// auto hide
|
// auto hide
|
||||||
var autohide = this.evaluateXPath(
|
var autohide = items[this.kMENUITEM_AUTOHIDE];
|
||||||
'descendant::xul:menuitem[starts-with(@id, "'+this.kMENUITEM_AUTOHIDE+'")]',
|
|
||||||
aEvent.currentTarget,
|
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
|
||||||
).singleNodeValue;
|
|
||||||
var pos = b.getAttribute(this.kTABBAR_POSITION);
|
var pos = b.getAttribute(this.kTABBAR_POSITION);
|
||||||
if (this.getTreePref('show.'+this.kMENUITEM_AUTOHIDE)/* &&
|
if (this.getTreePref('show.'+this.kMENUITEM_AUTOHIDE)/* &&
|
||||||
(pos == 'left' || pos == 'right')*/) {
|
(pos == 'left' || pos == 'right')*/) {
|
||||||
autohide.removeAttribute('hidden');
|
|
||||||
if (this.autoHideMode != this.kAUTOHIDE_MODE_DISABLED)
|
if (this.autoHideMode != this.kAUTOHIDE_MODE_DISABLED)
|
||||||
autohide.setAttribute('checked', true);
|
autohide.setAttribute('checked', true);
|
||||||
else
|
else
|
||||||
@ -2134,14 +2114,9 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// fix
|
// fix
|
||||||
var fixed = this.evaluateXPath(
|
var fixed = items[this.kMENUITEM_FIXED];
|
||||||
'descendant::xul:menuitem[starts-with(@id, "'+this.kMENUITEM_FIXED+'")]',
|
|
||||||
aEvent.currentTarget,
|
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
|
||||||
).singleNodeValue;
|
|
||||||
if (this.getTreePref('show.'+this.kMENUITEM_FIXED) &&
|
if (this.getTreePref('show.'+this.kMENUITEM_FIXED) &&
|
||||||
(pos == 'left' || pos == 'right')) {
|
(pos == 'left' || pos == 'right')) {
|
||||||
fixed.removeAttribute('hidden');
|
|
||||||
if (this.getTreePref('tabbar.fixed'))
|
if (this.getTreePref('tabbar.fixed'))
|
||||||
fixed.setAttribute('checked', true);
|
fixed.setAttribute('checked', true);
|
||||||
else
|
else
|
||||||
@ -2152,18 +2127,8 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// position
|
// position
|
||||||
var position = this.evaluateXPath(
|
var position = items[this.kMENUITEM_POSITION];
|
||||||
'descendant::xul:menu[starts-with(@id, "'+this.kMENUITEM_POSITION+'")]',
|
|
||||||
aEvent.currentTarget,
|
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
|
||||||
).singleNodeValue;
|
|
||||||
if (this.getTreePref('show.'+this.kMENUITEM_POSITION)) {
|
|
||||||
position.removeAttribute('hidden');
|
|
||||||
position.getElementsByAttribute('value', pos)[0].setAttribute('checked', true);
|
position.getElementsByAttribute('value', pos)[0].setAttribute('checked', true);
|
||||||
}
|
|
||||||
else {
|
|
||||||
position.setAttribute('hidden', true);
|
|
||||||
}
|
|
||||||
|
|
||||||
sep = this.evaluateXPath(
|
sep = this.evaluateXPath(
|
||||||
'descendant::xul:menuseparator[starts-with(@id, "'+this.kMENUITEM_AUTOHIDE_SEPARATOR+'")]',
|
'descendant::xul:menuseparator[starts-with(@id, "'+this.kMENUITEM_AUTOHIDE_SEPARATOR+'")]',
|
||||||
@ -2178,18 +2143,6 @@ TreeStyleTabBrowser.prototype = {
|
|||||||
else {
|
else {
|
||||||
sep.setAttribute('hidden', true);
|
sep.setAttribute('hidden', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// bookmark
|
|
||||||
item = this.evaluateXPath(
|
|
||||||
'descendant::xul:menuitem[starts-with(@id, "'+this.kMENUITEM_BOOKMARKSUBTREE+'")]',
|
|
||||||
aEvent.currentTarget,
|
|
||||||
XPathResult.FIRST_ORDERED_NODE_TYPE
|
|
||||||
).singleNodeValue;
|
|
||||||
if (this.getTreePref('show.'+this.kMENUITEM_BOOKMARKSUBTREE))
|
|
||||||
item.removeAttribute('hidden');
|
|
||||||
else
|
|
||||||
item.setAttribute('hidden', true);
|
|
||||||
this.showHideSubTreeMenuItem(item, [b.mContextTab]);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
initAllTabsPopup : function(aEvent)
|
initAllTabsPopup : function(aEvent)
|
||||||
|
@ -57,6 +57,8 @@ pref("extensions.treestyletab.twisty.expandSensitiveArea", true);
|
|||||||
pref("extensions.treestyletab.clickOnIndentSpaces.enabled", true);
|
pref("extensions.treestyletab.clickOnIndentSpaces.enabled", true);
|
||||||
|
|
||||||
pref("extensions.treestyletab.show.openSelectionLinks", true);
|
pref("extensions.treestyletab.show.openSelectionLinks", true);
|
||||||
|
pref("extensions.treestyletab.show.context-item-reloadTabSubTree", true);
|
||||||
|
pref("extensions.treestyletab.show.context-item-reloadDescendantTabs", false);
|
||||||
pref("extensions.treestyletab.show.context-item-removeTabSubTree", true);
|
pref("extensions.treestyletab.show.context-item-removeTabSubTree", true);
|
||||||
pref("extensions.treestyletab.show.context-item-removeDescendantTabs", false);
|
pref("extensions.treestyletab.show.context-item-removeDescendantTabs", false);
|
||||||
pref("extensions.treestyletab.show.context-item-collapseAllSubtree", true);
|
pref("extensions.treestyletab.show.context-item-collapseAllSubtree", true);
|
||||||
|
@ -137,6 +137,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "Ausgewählte Zweige schließen">
|
<!ENTITY selection.removeTabSubTree.label "Ausgewählte Zweige schließen">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "Diesen Zweig schließen">
|
<!ENTITY context.removeTabSubTree.label "Diesen Zweig schließen">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "s">
|
<!ENTITY context.removeTabSubTree.accesskey "s">
|
||||||
<!ENTITY context.removeDescendantTabs.label "Untergeordnete Tabs schließen">
|
<!ENTITY context.removeDescendantTabs.label "Untergeordnete Tabs schließen">
|
||||||
|
@ -139,6 +139,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "Close Selected Trees">
|
<!ENTITY selection.removeTabSubTree.label "Close Selected Trees">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "Close this Tree">
|
<!ENTITY context.removeTabSubTree.label "Close this Tree">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "s">
|
<!ENTITY context.removeTabSubTree.accesskey "s">
|
||||||
<!ENTITY context.removeDescendantTabs.label "Close Children">
|
<!ENTITY context.removeDescendantTabs.label "Close Children">
|
||||||
|
@ -138,6 +138,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "Cerrar árboles seleccionados">
|
<!ENTITY selection.removeTabSubTree.label "Cerrar árboles seleccionados">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "Cerrar este árbol">
|
<!ENTITY context.removeTabSubTree.label "Cerrar este árbol">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "s">
|
<!ENTITY context.removeTabSubTree.accesskey "s">
|
||||||
<!ENTITY context.removeDescendantTabs.label "Cerrar hija">
|
<!ENTITY context.removeDescendantTabs.label "Cerrar hija">
|
||||||
|
@ -138,6 +138,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "Chiudi i sottoalberi selezionati">
|
<!ENTITY selection.removeTabSubTree.label "Chiudi i sottoalberi selezionati">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "Chiudi questo sottoalbero">
|
<!ENTITY context.removeTabSubTree.label "Chiudi questo sottoalbero">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "u">
|
<!ENTITY context.removeTabSubTree.accesskey "u">
|
||||||
<!ENTITY context.removeDescendantTabs.label "Chiudi sottoschede">
|
<!ENTITY context.removeDescendantTabs.label "Chiudi sottoschede">
|
||||||
|
@ -137,6 +137,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "すべてのサブツリーを閉じる">
|
<!ENTITY selection.removeTabSubTree.label "すべてのサブツリーを閉じる">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "このサブツリーを再読み込み">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "このタブの子タブをすべて再読み込み">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "このサブツリーを閉じる">
|
<!ENTITY context.removeTabSubTree.label "このサブツリーを閉じる">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "s">
|
<!ENTITY context.removeTabSubTree.accesskey "s">
|
||||||
<!ENTITY context.removeDescendantTabs.label "このタブの子タブをすべて閉じる">
|
<!ENTITY context.removeDescendantTabs.label "このタブの子タブをすべて閉じる">
|
||||||
|
@ -137,6 +137,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "Zamknij wybrane drzewa">
|
<!ENTITY selection.removeTabSubTree.label "Zamknij wybrane drzewa">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "M">
|
<!ENTITY selection.removeTabSubTree.accesskey "M">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "Zamknij to drzewo">
|
<!ENTITY context.removeTabSubTree.label "Zamknij to drzewo">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "T">
|
<!ENTITY context.removeTabSubTree.accesskey "T">
|
||||||
<!ENTITY context.removeDescendantTabs.label "Zamknij potomne">
|
<!ENTITY context.removeDescendantTabs.label "Zamknij potomne">
|
||||||
|
@ -137,6 +137,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "Закрыть выбранные деревья">
|
<!ENTITY selection.removeTabSubTree.label "Закрыть выбранные деревья">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "Закрыть это дерево">
|
<!ENTITY context.removeTabSubTree.label "Закрыть это дерево">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "s">
|
<!ENTITY context.removeTabSubTree.accesskey "s">
|
||||||
<!ENTITY context.removeDescendantTabs.label "Закрыть дочерние вкладки">
|
<!ENTITY context.removeDescendantTabs.label "Закрыть дочерние вкладки">
|
||||||
|
@ -137,6 +137,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "关闭所选的树">
|
<!ENTITY selection.removeTabSubTree.label "关闭所选的树">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "关闭此树">
|
<!ENTITY context.removeTabSubTree.label "关闭此树">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "s">
|
<!ENTITY context.removeTabSubTree.accesskey "s">
|
||||||
<!ENTITY context.removeDescendantTabs.label "关闭子标签">
|
<!ENTITY context.removeDescendantTabs.label "关闭子标签">
|
||||||
|
@ -134,6 +134,10 @@
|
|||||||
|
|
||||||
<!ENTITY selection.removeTabSubTree.label "關閉所有選取的樹">
|
<!ENTITY selection.removeTabSubTree.label "關閉所有選取的樹">
|
||||||
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
<!ENTITY selection.removeTabSubTree.accesskey "s">
|
||||||
|
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
|
||||||
|
<!ENTITY context.reloadTabSubTree.accesskey "r">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
|
||||||
|
<!ENTITY context.reloadDescendantTabs.accesskey "r">
|
||||||
<!ENTITY context.removeTabSubTree.label "關閉此樹">
|
<!ENTITY context.removeTabSubTree.label "關閉此樹">
|
||||||
<!ENTITY context.removeTabSubTree.accesskey "s">
|
<!ENTITY context.removeTabSubTree.accesskey "s">
|
||||||
<!ENTITY context.removeDescendantTabs.label "關閉所有子分頁">
|
<!ENTITY context.removeDescendantTabs.label "關閉所有子分頁">
|
||||||
|
Loading…
Reference in New Issue
Block a user