Bug 1198339 - Bind F1 key to open the settings when the toolbox is focused;r=jryans

--HG--
extra : commitid : 8PC3AIJxpc8
This commit is contained in:
Brian Grinstead 2015-09-01 09:34:41 -07:00
Родитель f7f5121ffe
Коммит a3759a3134
4 изменённых файлов: 20 добавлений и 9 удалений

Просмотреть файл

@ -50,11 +50,15 @@ function* testSelectTool() {
function* testOptionsShortcut() { function* testOptionsShortcut() {
info ("Selecting another tool, then reselecting options panel with keyboard."); info ("Selecting another tool, then reselecting options panel with keyboard.");
yield toolbox.selectTool("webconsole") yield toolbox.selectTool("webconsole");
.then(() => synthesizeKeyFromKeyTag("toolbox-options-key", doc)) is(toolbox.currentToolId, "webconsole", "webconsole is selected");
.then(() => { synthesizeKeyFromKeyTag("toolbox-options-key", doc);
ok(true, "Toolbox selected via shortcut key"); is(toolbox.currentToolId, "options", "Toolbox selected via shortcut key (1)");
});
yield toolbox.selectTool("webconsole");
is(toolbox.currentToolId, "webconsole", "webconsole is selected");
synthesizeKeyFromKeyTag("toolbox-options-key2", doc);
is(toolbox.currentToolId, "options", "Toolbox selected via shortcut key (2)");
} }
function* testOptions() { function* testOptions() {

Просмотреть файл

@ -457,10 +457,11 @@ Toolbox.prototype = {
}, },
_buildOptions: function() { _buildOptions: function() {
let selectOptions = () => { this.selectTool("options"); };
let key = this.doc.getElementById("toolbox-options-key"); let key = this.doc.getElementById("toolbox-options-key");
key.addEventListener("command", () => { key.addEventListener("command", selectOptions, true);
this.selectTool("options"); let key2 = this.doc.getElementById("toolbox-options-key2");
}, true); key2.addEventListener("command", selectOptions, true);
}, },
_splitConsoleOnKeypress: function(e) { _splitConsoleOnKeypress: function(e) {

Просмотреть файл

@ -9,9 +9,11 @@
<!DOCTYPE window [ <!DOCTYPE window [
<!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd" > <!ENTITY % toolboxDTD SYSTEM "chrome://browser/locale/devtools/toolbox.dtd" >
%toolboxDTD; %toolboxDTD;
<!ENTITY % editMenuStrings SYSTEM "chrome://global/locale/editMenuOverlay.dtd"> <!ENTITY % editMenuStrings SYSTEM "chrome://global/locale/editMenuOverlay.dtd">
%editMenuStrings; %editMenuStrings;
<!ENTITY % globalKeysDTD SYSTEM "chrome://global/locale/globalKeys.dtd">
%globalKeysDTD;
]> ]>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
@ -30,6 +32,9 @@
key="&toolboxOptionsButton.key;" key="&toolboxOptionsButton.key;"
oncommand="void(0);" oncommand="void(0);"
modifiers="shift, accel"/> modifiers="shift, accel"/>
<key id="toolbox-options-key2"
keycode="&openHelp.commandkey;"
oncommand="void(0);"/>
<key id="toolbox-next-tool-key" <key id="toolbox-next-tool-key"
key="&toolboxNextTool.key;" key="&toolboxNextTool.key;"
oncommand="void(0);" oncommand="void(0);"

Просмотреть файл

@ -955,6 +955,7 @@ PropertyView.prototype = {
let keyEvent = Ci.nsIDOMKeyEvent; let keyEvent = Ci.nsIDOMKeyEvent;
if (event.keyCode === keyEvent.DOM_VK_F1) { if (event.keyCode === keyEvent.DOM_VK_F1) {
this.mdnLinkClick(); this.mdnLinkClick();
event.preventDefault();
} }
if (event.keyCode === keyEvent.DOM_VK_RETURN || if (event.keyCode === keyEvent.DOM_VK_RETURN ||
event.keyCode === keyEvent.DOM_VK_SPACE) { event.keyCode === keyEvent.DOM_VK_SPACE) {