| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/webui/options/chromeos/keyboard_handler.h" | 5 #include "chrome/browser/ui/webui/options/chromeos/keyboard_handler.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/values.h" | 8 #include "base/values.h" |
| 9 #include "chrome/browser/chromeos/input_method/xkeyboard.h" | 9 #include "chrome/browser/chromeos/input_method/xkeyboard.h" |
| 10 #include "chrome/common/chrome_switches.h" | 10 #include "chrome/common/chrome_switches.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 chromeos::input_method::kVoidKey }, | 27 chromeos::input_method::kVoidKey }, |
| 28 { IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_CAPS_LOCK, | 28 { IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_CAPS_LOCK, |
| 29 chromeos::input_method::kCapsLockKey }, | 29 chromeos::input_method::kCapsLockKey }, |
| 30 }; | 30 }; |
| 31 | 31 |
| 32 const char* kDataValuesNames[] = { | 32 const char* kDataValuesNames[] = { |
| 33 "remapSearchKeyToValue", | 33 "remapSearchKeyToValue", |
| 34 "remapControlKeyToValue", | 34 "remapControlKeyToValue", |
| 35 "remapAltKeyToValue", | 35 "remapAltKeyToValue", |
| 36 "remapCapsLockKeyToValue", | 36 "remapCapsLockKeyToValue", |
| 37 "remapDiamondKeyToValue", |
| 37 }; | 38 }; |
| 38 } // namespace | 39 } // namespace |
| 39 | 40 |
| 40 namespace chromeos { | 41 namespace chromeos { |
| 41 namespace options { | 42 namespace options { |
| 42 | 43 |
| 43 KeyboardHandler::KeyboardHandler() { | 44 KeyboardHandler::KeyboardHandler() { |
| 44 } | 45 } |
| 45 | 46 |
| 46 KeyboardHandler::~KeyboardHandler() { | 47 KeyboardHandler::~KeyboardHandler() { |
| 47 } | 48 } |
| 48 | 49 |
| 49 void KeyboardHandler::GetLocalizedValues(DictionaryValue* localized_strings) { | 50 void KeyboardHandler::GetLocalizedValues(DictionaryValue* localized_strings) { |
| 50 DCHECK(localized_strings); | 51 DCHECK(localized_strings); |
| 51 | 52 |
| 52 localized_strings->SetString("keyboardOverlayTitle", | 53 localized_strings->SetString("keyboardOverlayTitle", |
| 53 l10n_util::GetStringUTF16(IDS_OPTIONS_KEYBOARD_OVERLAY_TITLE)); | 54 l10n_util::GetStringUTF16(IDS_OPTIONS_KEYBOARD_OVERLAY_TITLE)); |
| 54 localized_strings->SetString("remapSearchKeyToContent", | 55 localized_strings->SetString("remapSearchKeyToContent", |
| 55 l10n_util::GetStringUTF16( | 56 l10n_util::GetStringUTF16( |
| 56 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_SEARCH_LABEL)); | 57 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_SEARCH_LABEL)); |
| 57 localized_strings->SetString("remapControlKeyToContent", | 58 localized_strings->SetString("remapControlKeyToContent", |
| 58 l10n_util::GetStringUTF16( | 59 l10n_util::GetStringUTF16( |
| 59 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_LEFT_CTRL_LABEL)); | 60 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_LEFT_CTRL_LABEL)); |
| 60 localized_strings->SetString("remapAltKeyToContent", | 61 localized_strings->SetString("remapAltKeyToContent", |
| 61 l10n_util::GetStringUTF16( | 62 l10n_util::GetStringUTF16( |
| 62 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_LEFT_ALT_LABEL)); | 63 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_LEFT_ALT_LABEL)); |
| 63 localized_strings->SetString("remapCapsLockKeyToContent", | 64 localized_strings->SetString("remapCapsLockKeyToContent", |
| 64 l10n_util::GetStringUTF16( | 65 l10n_util::GetStringUTF16( |
| 65 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_CAPS_LOCK_LABEL)); | 66 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_CAPS_LOCK_LABEL)); |
| 67 localized_strings->SetString("remapDiamondKeyToContent", |
| 68 l10n_util::GetStringUTF16( |
| 69 IDS_OPTIONS_SETTINGS_LANGUAGES_KEY_DIAMOND_KEY_LABEL)); |
| 66 localized_strings->SetString("changeLanguageAndInputSettings", | 70 localized_strings->SetString("changeLanguageAndInputSettings", |
| 67 l10n_util::GetStringUTF16( | 71 l10n_util::GetStringUTF16( |
| 68 IDS_OPTIONS_SETTINGS_CHANGE_LANGUAGE_AND_INPUT_SETTINGS)); | 72 IDS_OPTIONS_SETTINGS_CHANGE_LANGUAGE_AND_INPUT_SETTINGS)); |
| 69 | 73 |
| 70 for (size_t i = 0; i < arraysize(kDataValuesNames); ++i) { | 74 for (size_t i = 0; i < arraysize(kDataValuesNames); ++i) { |
| 71 ListValue* list_value = new ListValue(); | 75 ListValue* list_value = new ListValue(); |
| 72 for (size_t j = 0; j < arraysize(kModifierKeysSelectItems); ++j) { | 76 for (size_t j = 0; j < arraysize(kModifierKeysSelectItems); ++j) { |
| 73 const input_method::ModifierKey value = | 77 const input_method::ModifierKey value = |
| 74 kModifierKeysSelectItems[j].value; | 78 kModifierKeysSelectItems[j].value; |
| 75 const int message_id = kModifierKeysSelectItems[j].message_id; | 79 const int message_id = kModifierKeysSelectItems[j].message_id; |
| 76 // Only the seach key can be remapped to the caps lock key. | 80 // Only the seach key can be remapped to the caps lock key. |
| 77 if (kDataValuesNames[i] != std::string("remapSearchKeyToValue") && | 81 if (kDataValuesNames[i] != std::string("remapSearchKeyToValue") && |
| 78 kDataValuesNames[i] != std::string("remapCapsLockKeyToValue") && | 82 kDataValuesNames[i] != std::string("remapCapsLockKeyToValue") && |
| 79 value == input_method::kCapsLockKey) { | 83 value == input_method::kCapsLockKey) { |
| 80 continue; | 84 continue; |
| 81 } | 85 } |
| 82 ListValue* option = new ListValue(); | 86 ListValue* option = new ListValue(); |
| 83 option->Append(new base::FundamentalValue(value)); | 87 option->Append(new base::FundamentalValue(value)); |
| 84 option->Append(new base::StringValue(l10n_util::GetStringUTF16( | 88 option->Append(new base::StringValue(l10n_util::GetStringUTF16( |
| 85 message_id))); | 89 message_id))); |
| 86 list_value->Append(option); | 90 list_value->Append(option); |
| 87 } | 91 } |
| 88 localized_strings->Set(kDataValuesNames[i], list_value); | 92 localized_strings->Set(kDataValuesNames[i], list_value); |
| 89 } | 93 } |
| 90 } | 94 } |
| 91 | 95 |
| 92 void KeyboardHandler::InitializePage() { | 96 void KeyboardHandler::InitializePage() { |
| 93 bool chromeos_keyboard = CommandLine::ForCurrentProcess()->HasSwitch( | 97 bool chromeos_keyboard = CommandLine::ForCurrentProcess()->HasSwitch( |
| 94 switches::kHasChromeOSKeyboard); | 98 switches::kHasChromeOSKeyboard); |
| 99 const base::FundamentalValue show_caps_lock_options(chromeos_keyboard); |
| 95 | 100 |
| 96 const base::FundamentalValue show_options(true); | 101 bool has_diamond_key = CommandLine::ForCurrentProcess()->HasSwitch( |
| 102 switches::kHasChromeOSDiamondKey); |
| 103 const base::FundamentalValue show_diamond_key_options(has_diamond_key); |
| 97 | 104 |
| 98 if (!chromeos_keyboard) { | 105 web_ui()->CallJavascriptFunction( |
| 99 web_ui()->CallJavascriptFunction( | 106 "options.KeyboardOverlay.showCapsLockOptions", |
| 100 "options.KeyboardOverlay.showCapsLockOptions", show_options); | 107 show_caps_lock_options); |
| 101 } | 108 web_ui()->CallJavascriptFunction( |
| 109 "options.KeyboardOverlay.showDiamondKeyOptions", |
| 110 show_diamond_key_options); |
| 102 } | 111 } |
| 103 | 112 |
| 104 } // namespace options | 113 } // namespace options |
| 105 } // namespace chromeos | 114 } // namespace chromeos |
| OLD | NEW |