Chromium Code Reviews| 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 #ifndef CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ |
| 7 | 7 |
| 8 #include <stddef.h> // For size_t | |
| 9 | |
| 10 #include "components/user_prefs/pref_registry_syncable.h" | |
| 11 | |
| 12 class PrefRegistrySimple; | 8 class PrefRegistrySimple; |
| 13 | 9 |
| 14 // TODO(yusukes): Rename this file to input_method_preference.cc. Since | 10 // TODO(yusukes): Rename this file to input_method_preference.cc. Since |
| 15 // "language" usually means UI language, the current file name is confusing. | 11 // "language" usually means UI language, the current file name is confusing. |
| 16 // The namespace should also be changed to "namespace input_method {". | 12 // The namespace should also be changed to "namespace input_method {". |
| 17 | 13 |
| 18 // This file defines types and declare variables used in "Languages and | 14 // This file defines types and declare variables used in "Languages and |
| 19 // Input" settings in Chromium OS. | 15 // Input" settings in Chromium OS. |
| 20 namespace chromeos { | 16 namespace chromeos { |
| 21 namespace language_prefs { | 17 namespace language_prefs { |
| 22 | 18 |
| 23 // TODO(yusukes): Remove the "Language" prefix from all structs and variables. | |
| 24 // They're redundant (we already have the language_prefs namespace) and even | |
| 25 // confusing. | |
| 26 | |
| 27 // The struct is used for preferences consisting of multiple choices, like | |
| 28 // punctuation types used in Japanese input method. | |
| 29 template <typename DataType> | |
| 30 struct LanguageMultipleChoicePreference { | |
| 31 const char* pref_name; // Chrome preference name. | |
| 32 DataType default_pref_value; | |
| 33 const char* ibus_config_name; | |
| 34 // Currently we have 10 combobox items at most. | |
| 35 static const size_t kMaxItems = 11; | |
| 36 struct { | |
| 37 DataType ibus_config_value; | |
| 38 int item_message_id; // Resource grd ID for the combobox item. | |
| 39 } values_and_ids[kMaxItems]; | |
| 40 int label_message_id; // Resource grd ID for the label. | |
| 41 user_prefs::PrefRegistrySyncable::PrefSyncStatus sync_status; | |
| 42 }; | |
| 43 | |
| 44 // The struct is used for preferences of boolean values, like switches to | |
| 45 // enable or disable particular features. | |
| 46 struct LanguageBooleanPrefs { | |
| 47 const char* pref_name; // Chrome preference name. | |
| 48 bool default_pref_value; | |
| 49 const char* ibus_config_name; | |
| 50 int message_id; | |
| 51 user_prefs::PrefRegistrySyncable::PrefSyncStatus sync_status; | |
| 52 }; | |
| 53 | |
| 54 // The struct is used for preferences of integer range values, like the | |
| 55 // key repeat rate. | |
| 56 struct LanguageIntegerRangePreference { | |
| 57 const char* pref_name; // Chrome preference name. | |
| 58 int default_pref_value; | |
| 59 int min_pref_value; | |
| 60 int max_pref_value; | |
| 61 const char* ibus_config_name; | |
| 62 int message_id; | |
| 63 user_prefs::PrefRegistrySyncable::PrefSyncStatus sync_status; | |
| 64 }; | |
| 65 | |
| 66 // --------------------------------------------------------------------------- | 19 // --------------------------------------------------------------------------- |
| 67 // For ibus-daemon | 20 // For ibus-daemon |
|
Seigo Nonaka
2013/09/02 06:14:33
Please update like "For input method engine manage
Hiro Komatsu
2013/09/02 06:37:13
Done.
| |
| 68 // --------------------------------------------------------------------------- | 21 // --------------------------------------------------------------------------- |
| 69 extern const char kGeneralSectionName[]; | 22 extern const char kGeneralSectionName[]; |
| 70 extern const char kPreloadEnginesConfigName[]; | 23 extern const char kPreloadEnginesConfigName[]; |
| 71 | 24 |
| 72 // --------------------------------------------------------------------------- | 25 // --------------------------------------------------------------------------- |
| 73 // For Traditional Chinese input method (ibus-mozc-chewing) | |
| 74 // --------------------------------------------------------------------------- | |
| 75 extern const char kChewingSectionName[]; | |
| 76 | |
| 77 extern const LanguageBooleanPrefs kChewingBooleanPrefs[]; | |
| 78 // This is not ideal, but we should hard-code the number here as the value | |
| 79 // is referenced in other header files as array sizes. We have a | |
| 80 // COMPILE_ASSERT in .cc to ensure that the number is correct. | |
| 81 const size_t kNumChewingBooleanPrefs = 8 - 2; // -2 is for crosbug.com/14185 | |
| 82 | |
| 83 extern const LanguageIntegerRangePreference kChewingIntegerPrefs[]; | |
| 84 // See comments at kNumChewingBooleanPrefs for why we hard-code this here. | |
| 85 const size_t kNumChewingIntegerPrefs = 2; | |
| 86 const int kChewingMaxChiSymbolLenIndex = 0; | |
| 87 const int kChewingCandPerPageIndex = 1; | |
| 88 | |
| 89 extern const LanguageMultipleChoicePreference<const char*> | |
| 90 kChewingMultipleChoicePrefs[]; | |
| 91 // See comments at kNumChewingBooleanPrefs for why we hard-code this here. | |
| 92 const size_t kNumChewingMultipleChoicePrefs = 2; | |
| 93 | |
| 94 extern const LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType; | |
| 95 | |
| 96 // --------------------------------------------------------------------------- | |
| 97 // For Korean input method (ibus-mozc-hangul) | |
| 98 // --------------------------------------------------------------------------- | |
| 99 extern const char kHangulSectionName[]; | |
| 100 extern const char kHangulKeyboardConfigName[]; | |
| 101 extern const char kHangulHanjaBindingKeysConfigName[]; | |
| 102 extern const char kHangulHanjaBindingKeys[]; | |
| 103 | |
| 104 struct HangulKeyboardNameIDPair { | |
| 105 int message_id; | |
| 106 const char* keyboard_id; | |
| 107 }; | |
| 108 | |
| 109 extern const HangulKeyboardNameIDPair kHangulKeyboardNameIDPairs[]; | |
| 110 // See comments at kNumChewingBooleanPrefs for why we hard-code this here. | |
| 111 const size_t kNumHangulKeyboardNameIDPairs = 5; | |
| 112 | |
| 113 // --------------------------------------------------------------------------- | |
| 114 // For Simplified Chinese input method (ibus-mozc-pinyin) | |
| 115 // --------------------------------------------------------------------------- | |
| 116 extern const char kPinyinSectionName[]; | |
| 117 | |
| 118 extern const LanguageBooleanPrefs kPinyinBooleanPrefs[]; | |
| 119 // See comments at kNumChewingBooleanPrefs for why we hard-code this here. | |
| 120 const size_t kNumPinyinBooleanPrefs = 11; | |
| 121 | |
| 122 extern const LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema; | |
| 123 | |
| 124 struct PinyinIntegerPref { | |
| 125 const char* pref_name; // Chrome preference name. | |
| 126 int default_pref_value; | |
| 127 const char* ibus_config_name; | |
| 128 user_prefs::PrefRegistrySyncable::PrefSyncStatus sync_status; | |
| 129 // TODO(yusukes): Add message_id if needed. | |
| 130 }; | |
| 131 | |
| 132 extern const PinyinIntegerPref kPinyinIntegerPrefs[]; | |
| 133 const size_t kNumPinyinIntegerPrefs = 1; | |
| 134 | |
| 135 // --------------------------------------------------------------------------- | |
| 136 // For Japanese input method (ibus-mozc) | |
| 137 // --------------------------------------------------------------------------- | |
| 138 extern const char kMozcSectionName[]; | |
| 139 | |
| 140 extern const LanguageBooleanPrefs kMozcBooleanPrefs[]; | |
| 141 // See comments at kNumChewingBooleanPrefs for why we hard-code this here. | |
| 142 const size_t kNumMozcBooleanPrefs = 4; | |
| 143 | |
| 144 extern const LanguageMultipleChoicePreference<const char*> | |
| 145 kMozcMultipleChoicePrefs[]; | |
| 146 // See comments at kNumChewingBooleanPrefs for why we hard-code this here. | |
| 147 const size_t kNumMozcMultipleChoicePrefs = 8; | |
| 148 | |
| 149 extern const LanguageIntegerRangePreference kMozcIntegerPrefs[]; | |
| 150 // See comments at kNumChewingBooleanPrefs for why we hard-code this here. | |
| 151 const size_t kNumMozcIntegerPrefs = 1; | |
| 152 | |
| 153 // --------------------------------------------------------------------------- | |
| 154 // For keyboard stuff | 26 // For keyboard stuff |
| 155 // --------------------------------------------------------------------------- | 27 // --------------------------------------------------------------------------- |
| 156 // A delay between the first and the start of the rest. | 28 // A delay between the first and the start of the rest. |
| 157 extern const int kXkbAutoRepeatDelayInMs; | 29 extern const int kXkbAutoRepeatDelayInMs; |
| 158 // An interval between the repeated keys. | 30 // An interval between the repeated keys. |
| 159 extern const int kXkbAutoRepeatIntervalInMs; | 31 extern const int kXkbAutoRepeatIntervalInMs; |
| 160 | 32 |
| 161 // A string Chrome preference (Local State) of the preferred keyboard layout in | 33 // A string Chrome preference (Local State) of the preferred keyboard layout in |
| 162 // the login screen. | 34 // the login screen. |
| 163 extern const char kPreferredKeyboardLayout[]; | 35 extern const char kPreferredKeyboardLayout[]; |
| 164 | 36 |
| 165 // Registers non-user prefs for the default keyboard layout on the login screen. | 37 // Registers non-user prefs for the default keyboard layout on the login screen. |
| 166 void RegisterPrefs(PrefRegistrySimple* registry); | 38 void RegisterPrefs(PrefRegistrySimple* registry); |
| 167 | 39 |
| 168 } // language_prefs | 40 } // namespace language_prefs |
| 169 } // chromeos | 41 } // namespace chromeos |
| 170 | 42 |
| 171 #endif // CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ | 43 #endif // CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ |
| OLD | NEW |