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:
Jared Wein
2018-09-28 14:48:40 +00:00
parent d12d82e799
commit 693e3e8e00
4 changed files with 26 additions and 0 deletions

View File

@@ -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;

View File

@@ -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"

View File

@@ -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);

View File

@@ -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">