diff options
author | michaelpg@chromium.org <michaelpg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-13 19:41:36 +0000 |
---|---|---|
committer | michaelpg@chromium.org <michaelpg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-13 19:41:36 +0000 |
commit | e7b3c2cd665261388c5d3407963ad68ba641f3ca (patch) | |
tree | 7b87f5ba27acab6968253429f65f3003be2d83c9 /chrome | |
parent | 29d39a4adb6f9b2a4e05bb3f95140df2e3957ec7 (diff) | |
download | chromium_src-e7b3c2cd665261388c5d3407963ad68ba641f3ca.zip chromium_src-e7b3c2cd665261388c5d3407963ad68ba641f3ca.tar.gz chromium_src-e7b3c2cd665261388c5d3407963ad68ba641f3ca.tar.bz2 |
Add link to show keyboard shortcuts from keyboard settings
This adds a link button to the keyboard overlay which has
the same effect as pressing Ctrl-Alt-/.
Screenshots: http://imgur.com/lIdgpbN,NspiAfQ
BUG=300150
R=nkostylev@chromium.org, asvitkine@chromium.org
Review URL: https://codereview.chromium.org/278703003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270171 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
5 files changed, 37 insertions, 0 deletions
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp index 30e4a7b..414094d 100644 --- a/chrome/app/chromeos_strings.grdp +++ b/chrome/app/chromeos_strings.grdp @@ -3390,6 +3390,10 @@ Press any key to continue exploring. desc="The link to open 'Language and input settings' window."> Change language and input settings </message> + <message name="IDS_OPTIONS_SETTINGS_SHOW_KEYBOARD_SHORTCUTS" + desc="The link to open the keyboard overlay."> + View keyboard shortcuts + </message> <message name="IDS_OPTIONS_NO_POINTING_DEVICES" desc="Text shown when there is neither a touchpad nor a mouse."> No mouse or touchpad was detected. </message> diff --git a/chrome/browser/resources/options/chromeos/keyboard_overlay.html b/chrome/browser/resources/options/chromeos/keyboard_overlay.html index 7dde1e5..4609b04c 100644 --- a/chrome/browser/resources/options/chromeos/keyboard_overlay.html +++ b/chrome/browser/resources/options/chromeos/keyboard_overlay.html @@ -96,6 +96,10 @@ </div> </div> <div class="content-area"> + <button id="keyboard-shortcuts" class="link-button" + i18n-content="showKeyboardShortcuts"></button> + </div> + <div class="content-area"> <button id="languages-and-input-settings" class="link-button" i18n-content="changeLanguageAndInputSettings"></button> </div> diff --git a/chrome/browser/resources/options/chromeos/keyboard_overlay.js b/chrome/browser/resources/options/chromeos/keyboard_overlay.js index 185d678..4514ada 100644 --- a/chrome/browser/resources/options/chromeos/keyboard_overlay.js +++ b/chrome/browser/resources/options/chromeos/keyboard_overlay.js @@ -31,6 +31,12 @@ cr.define('options', function() { chrome.send('coreOptionsUserMetricsAction', ['Options_KeyboardShowLanguageSettings']); }; + + $('keyboard-shortcuts').onclick = function(e) { + chrome.send('showKeyboardShortcuts'); + chrome.send('coreOptionsUserMetricsAction', + ['Options_KeyboardShowKeyboardShortcuts']); + }; }, /** diff --git a/chrome/browser/ui/webui/options/chromeos/keyboard_handler.cc b/chrome/browser/ui/webui/options/chromeos/keyboard_handler.cc index aeaf8ba..efe0080 100644 --- a/chrome/browser/ui/webui/options/chromeos/keyboard_handler.cc +++ b/chrome/browser/ui/webui/options/chromeos/keyboard_handler.cc @@ -4,6 +4,10 @@ #include "chrome/browser/ui/webui/options/chromeos/keyboard_handler.h" +#include "ash/new_window_delegate.h" +#include "ash/shell.h" +#include "base/bind.h" +#include "base/bind_helpers.h" #include "base/command_line.h" #include "base/values.h" #include "chromeos/chromeos_switches.h" @@ -79,6 +83,9 @@ void KeyboardHandler::GetLocalizedValues( localized_strings->SetString("changeLanguageAndInputSettings", l10n_util::GetStringUTF16( IDS_OPTIONS_SETTINGS_CHANGE_LANGUAGE_AND_INPUT_SETTINGS)); + localized_strings->SetString("showKeyboardShortcuts", + l10n_util::GetStringUTF16( + IDS_OPTIONS_SETTINGS_SHOW_KEYBOARD_SHORTCUTS)); for (size_t i = 0; i < arraysize(kDataValuesNames); ++i) { base::ListValue* list_value = new base::ListValue(); @@ -119,5 +126,17 @@ void KeyboardHandler::InitializePage() { show_diamond_key_options); } +void KeyboardHandler::RegisterMessages() { + // Callback to show keyboard overlay. + web_ui()->RegisterMessageCallback( + "showKeyboardShortcuts", + base::Bind(&KeyboardHandler::HandleShowKeyboardShortcuts, + base::Unretained(this))); +} + +void KeyboardHandler::HandleShowKeyboardShortcuts(const base::ListValue* args) { + ash::Shell::GetInstance()->new_window_delegate()->ShowKeyboardOverlay(); +} + } // namespace options } // namespace chromeos diff --git a/chrome/browser/ui/webui/options/chromeos/keyboard_handler.h b/chrome/browser/ui/webui/options/chromeos/keyboard_handler.h index 38e1465..96b7d82 100644 --- a/chrome/browser/ui/webui/options/chromeos/keyboard_handler.h +++ b/chrome/browser/ui/webui/options/chromeos/keyboard_handler.h @@ -22,8 +22,12 @@ class KeyboardHandler : public ::options::OptionsPageUIHandler { virtual void GetLocalizedValues( base::DictionaryValue* localized_strings) OVERRIDE; virtual void InitializePage() OVERRIDE; + virtual void RegisterMessages() OVERRIDE; private: + // Show the keyboard shortcuts overlay from the options page. + void HandleShowKeyboardShortcuts(const base::ListValue* args); + DISALLOW_COPY_AND_ASSIGN(KeyboardHandler); }; |