summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authormichaelpg@chromium.org <michaelpg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-13 19:41:36 +0000
committermichaelpg@chromium.org <michaelpg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-13 19:41:36 +0000
commite7b3c2cd665261388c5d3407963ad68ba641f3ca (patch)
tree7b87f5ba27acab6968253429f65f3003be2d83c9 /chrome
parent29d39a4adb6f9b2a4e05bb3f95140df2e3957ec7 (diff)
downloadchromium_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')
-rw-r--r--chrome/app/chromeos_strings.grdp4
-rw-r--r--chrome/browser/resources/options/chromeos/keyboard_overlay.html4
-rw-r--r--chrome/browser/resources/options/chromeos/keyboard_overlay.js6
-rw-r--r--chrome/browser/ui/webui/options/chromeos/keyboard_handler.cc19
-rw-r--r--chrome/browser/ui/webui/options/chromeos/keyboard_handler.h4
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);
};