Commit 9cdd3b99 authored by Tom Anderson's avatar Tom Anderson Committed by Commit Bot

Deduplicate generated accelerator modifier key strings

R=sky

Change-Id: I7fe86da5c95c92b95c62745d5b2f49fd7e2a68ef
Reviewed-on: https://chromium-review.googlesource.com/1195089
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#587725}
parent 275f98ad
......@@ -35,6 +35,14 @@ const int kModifierMask = EF_SHIFT_DOWN | EF_CONTROL_DOWN | EF_ALT_DOWN |
const int kInterestingFlagsMask =
kModifierMask | EF_IS_SYNTHESIZED | EF_IS_REPEAT;
base::string16 ApplyModifierToAcceleratorString(
const base::string16& accelerator,
int modifier_message_id) {
return l10n_util::GetStringFUTF16(
IDS_APP_ACCELERATOR_WITH_MODIFIER,
l10n_util::GetStringUTF16(modifier_message_id), accelerator);
}
} // namespace
Accelerator::Accelerator() : Accelerator(VKEY_UNKNOWN, EF_NONE) {}
......@@ -216,21 +224,21 @@ base::string16 Accelerator::GetShortcutText() const {
base::string16 Accelerator::ApplyLongFormModifiers(
base::string16 shortcut) const {
if (IsShiftDown())
shortcut = l10n_util::GetStringFUTF16(IDS_APP_SHIFT_MODIFIER, shortcut);
shortcut = ApplyModifierToAcceleratorString(shortcut, IDS_APP_SHIFT_KEY);
// Note that we use 'else-if' in order to avoid using Ctrl+Alt as a shortcut.
// See http://blogs.msdn.com/oldnewthing/archive/2004/03/29/101121.aspx for
// more information.
if (IsCtrlDown())
shortcut = l10n_util::GetStringFUTF16(IDS_APP_CONTROL_MODIFIER, shortcut);
shortcut = ApplyModifierToAcceleratorString(shortcut, IDS_APP_CTRL_KEY);
else if (IsAltDown())
shortcut = l10n_util::GetStringFUTF16(IDS_APP_ALT_MODIFIER, shortcut);
shortcut = ApplyModifierToAcceleratorString(shortcut, IDS_APP_ALT_KEY);
if (IsCmdDown()) {
#if defined(OS_MACOSX)
shortcut = l10n_util::GetStringFUTF16(IDS_APP_COMMAND_MODIFIER, shortcut);
shortcut = ApplyModifierToAcceleratorString(shortcut, IDS_APP_COMMAND_KEY);
#elif defined(OS_CHROMEOS)
shortcut = l10n_util::GetStringFUTF16(IDS_APP_SEARCH_MODIFIER, shortcut);
shortcut = ApplyModifierToAcceleratorString(shortcut, IDS_APP_SEARCH_KEY);
#else
NOTREACHED();
#endif
......
......@@ -601,28 +601,22 @@ need to be translated for each locale.-->
<message name="IDS_APP_ALT_KEY" desc="Alt key">
Alt
</message>
<message name="IDS_APP_COMMAND_KEY" desc="Command key">
Command
</message>
<message name="IDS_APP_CTRL_KEY" desc="Ctrl key">
Ctrl
</message>
<message name="IDS_APP_SEARCH_KEY" desc="Search key">
Search
</message>
<message name="IDS_APP_SHIFT_KEY" desc="Shift key">
Shift
</message>
<!-- Shortcut Modifiers -->
<message name="IDS_APP_CONTROL_MODIFIER" desc="Control key shortcut modifier">
Ctrl+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
</message>
<message name="IDS_APP_ALT_MODIFIER" desc="Alt key shortcut modifier">
Alt+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
</message>
<message name="IDS_APP_SHIFT_MODIFIER" desc="Shift key shortcut modifier">
Shift+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
</message>
<message name="IDS_APP_COMMAND_MODIFIER" desc="Command key shortcut modifier">
Command+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
</message>
<message name="IDS_APP_SEARCH_MODIFIER" desc="Search key shortcut modifier">
Search+<ph name="KEY_COMBO_NAME">$1<ex>C</ex></ph>
<!-- Accelerator format -->
<message name="IDS_APP_ACCELERATOR_WITH_MODIFIER" desc="Accelerator with a modifier key">
<ph name="KEY_MODIFIER_NAME">$1<ex>Ctrl</ex></ph>+<ph name="KEY_COMBO_NAME">$2<ex>C</ex></ph>
</message>
<!-- Byte size units -->
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment