Bug 1480456 - Add 'Select All Tabs' into tab context menu. r=Felipe
Differential Revision: https://phabricator.services.mozilla.com/D7129
This commit is contained in:
@@ -5709,6 +5709,7 @@ function onViewToolbarsPopupShowing(aEvent, aInsertPoint) {
|
||||
let haveMultipleTabs = gBrowser.visibleTabs.length > 1;
|
||||
document.getElementById("toolbar-context-reloadAllTabs").disabled = !haveMultipleTabs;
|
||||
|
||||
document.getElementById("toolbar-context-selectAllTabs").disabled = gBrowser.allTabsSelected();
|
||||
document.getElementById("toolbar-context-undoCloseTab").disabled =
|
||||
SessionStore.getClosedTabCount(window) == 0;
|
||||
return;
|
||||
|
||||
@@ -115,6 +115,8 @@ xmlns="http://www.w3.org/1999/xhtml"
|
||||
<menuitem id="context_toggleMuteSelectedTabs" hidden="true"
|
||||
oncommand="gBrowser.toggleMuteAudioOnMultiSelectedTabs(TabContextMenu.contextTab);"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="context_selectAllTabs" label="&selectAllTabs.label;" accesskey="&selectAllTabs.accesskey;"
|
||||
oncommand="gBrowser.selectAllTabs();"/>
|
||||
<menuitem id="context_pinTab" label="&pinTab.label;"
|
||||
accesskey="&pinTab.accesskey;"
|
||||
oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
|
||||
@@ -421,6 +423,12 @@ xmlns="http://www.w3.org/1999/xhtml"
|
||||
command="Browser:BookmarkAllTabs"
|
||||
label="&toolbarContextMenu.bookmarkAllTabs.label;"
|
||||
accesskey="&toolbarContextMenu.bookmarkAllTabs.accesskey;"/>
|
||||
<menuitem id="toolbar-context-selectAllTabs"
|
||||
class="toolbaritem-tabsmenu"
|
||||
contexttype="tabbar"
|
||||
oncommand="gBrowser.selectAllTabs();"
|
||||
label="&toolbarContextMenu.selectAllTabs.label;"
|
||||
accesskey="&toolbarContextMenu.selectAllTabs.accesskey;"/>
|
||||
<menuitem id="toolbar-context-undoCloseTab"
|
||||
class="toolbaritem-tabsmenu"
|
||||
contexttype="tabbar"
|
||||
|
||||
@@ -3848,6 +3848,16 @@ window._gBrowser = {
|
||||
}
|
||||
},
|
||||
|
||||
selectAllTabs() {
|
||||
let visibleTabs = this.visibleTabs;
|
||||
gBrowser.addRangeToMultiSelectedTabs(visibleTabs[0],
|
||||
visibleTabs[visibleTabs.length - 1]);
|
||||
},
|
||||
|
||||
allTabsSelected() {
|
||||
return this.visibleTabs.every(t => t.multiselected);
|
||||
},
|
||||
|
||||
lockClearMultiSelectionOnce() {
|
||||
this._clearMultiSelectionLockedOnce = true;
|
||||
this._clearMultiSelectionLocked = true;
|
||||
@@ -5360,6 +5370,9 @@ var TabContextMenu = {
|
||||
this.contextTab.toggleMultiSelectMuteMenuItem = toggleMultiSelectMute;
|
||||
this._updateToggleMuteMenuItems(this.contextTab);
|
||||
|
||||
let selectAllTabs = document.getElementById("context_selectAllTabs");
|
||||
selectAllTabs.disabled = gBrowser.allTabsSelected();
|
||||
|
||||
this.contextTab.addEventListener("TabAttrModified", this);
|
||||
aPopupMenu.addEventListener("popuphiding", this);
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
<!ENTITY reloadTab.accesskey "R">
|
||||
<!ENTITY reloadAllTabs.label "Reload All Tabs">
|
||||
<!ENTITY reloadAllTabs.accesskey "A">
|
||||
<!ENTITY selectAllTabs.label "Select All Tabs">
|
||||
<!ENTITY selectAllTabs.accesskey "S">
|
||||
<!-- LOCALIZATION NOTE (duplicateTab.label): This is a command to duplicate
|
||||
a tab (i.e. it is a verb, not adjective). -->
|
||||
<!ENTITY duplicateTab.label "Duplicate Tab">
|
||||
@@ -111,6 +113,8 @@ when there are no windows but Firefox is still running. -->
|
||||
<!ENTITY toolbarContextMenu.reloadAllTabs.accesskey "A">
|
||||
<!ENTITY toolbarContextMenu.bookmarkAllTabs.label "Bookmark All Tabs…">
|
||||
<!ENTITY toolbarContextMenu.bookmarkAllTabs.accesskey "T">
|
||||
<!ENTITY toolbarContextMenu.selectAllTabs.label "Select All Tabs">
|
||||
<!ENTITY toolbarContextMenu.selectAllTabs.accesskey "S">
|
||||
<!ENTITY toolbarContextMenu.undoCloseTab.label "Undo Close Tab">
|
||||
<!ENTITY toolbarContextMenu.undoCloseTab.accesskey "U">
|
||||
|
||||
|
||||
Reference in New Issue
Block a user