Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(734)

Side by Side Diff: chrome/browser/chromeos/language_preferences.cc

Issue 7016036: Sync IME preferences. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "chrome/browser/chromeos/language_preferences.h" 6 #include "chrome/browser/chromeos/language_preferences.h"
7 #include "chrome/common/pref_names.h" 7 #include "chrome/common/pref_names.h"
8 #include "grit/generated_resources.h" 8 #include "grit/generated_resources.h"
9 9
10 namespace chromeos { 10 namespace chromeos {
(...skipping 14 matching lines...) Expand all
25 25
26 // --------------------------------------------------------------------------- 26 // ---------------------------------------------------------------------------
27 // For Traditional Chinese input method (ibus-chewing) 27 // For Traditional Chinese input method (ibus-chewing)
28 // --------------------------------------------------------------------------- 28 // ---------------------------------------------------------------------------
29 const char kChewingSectionName[] = "engine/Chewing"; 29 const char kChewingSectionName[] = "engine/Chewing";
30 30
31 // We have to sync the |ibus_config_name|s with those in 31 // We have to sync the |ibus_config_name|s with those in
32 // ibus-chewing/files/src/Config.cc. 32 // ibus-chewing/files/src/Config.cc.
33 const LanguageBooleanPrefs kChewingBooleanPrefs[] = { 33 const LanguageBooleanPrefs kChewingBooleanPrefs[] = {
34 { prefs::kLanguageChewingAutoShiftCur, false, "autoShiftCur", 34 { prefs::kLanguageChewingAutoShiftCur, false, "autoShiftCur",
35 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR}, 35 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR,
36 PrefService::SYNCABLE_PREF },
36 { prefs::kLanguageChewingAddPhraseDirection, false, "addPhraseDirection", 37 { prefs::kLanguageChewingAddPhraseDirection, false, "addPhraseDirection",
37 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION}, 38 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION,
39 PrefService::SYNCABLE_PREF },
38 /* Temporarily disabled. (crosbug.com/14185) 40 /* Temporarily disabled. (crosbug.com/14185)
39 { prefs::kLanguageChewingEasySymbolInput, true, "easySymbolInput", 41 { prefs::kLanguageChewingEasySymbolInput, true, "easySymbolInput",
40 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT}, 42 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT,
43 PrefService::SYNCABLE_PREF },
41 */ 44 */
42 { prefs::kLanguageChewingEscCleanAllBuf, false, "escCleanAllBuf", 45 { prefs::kLanguageChewingEscCleanAllBuf, false, "escCleanAllBuf",
43 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF}, 46 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF,
47 PrefService::SYNCABLE_PREF },
44 { prefs::kLanguageChewingForceLowercaseEnglish, false, 48 { prefs::kLanguageChewingForceLowercaseEnglish, false,
45 "forceLowercaseEnglish", 49 "forceLowercaseEnglish",
46 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH}, 50 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH,
51 PrefService::SYNCABLE_PREF },
47 /* Temporarily disabled. (crosbug.com/14185) 52 /* Temporarily disabled. (crosbug.com/14185)
48 { prefs::kLanguageChewingPlainZhuyin, false, "plainZhuyin", 53 { prefs::kLanguageChewingPlainZhuyin, false, "plainZhuyin",
49 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN}, 54 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN,
55 PrefService::SYNCABLE_PREF },
50 */ 56 */
51 { prefs::kLanguageChewingPhraseChoiceRearward, true, "phraseChoiceRearward", 57 { prefs::kLanguageChewingPhraseChoiceRearward, true, "phraseChoiceRearward",
52 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD}, 58 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD,
59 PrefService::SYNCABLE_PREF },
53 { prefs::kLanguageChewingSpaceAsSelection, true, "spaceAsSelection", 60 { prefs::kLanguageChewingSpaceAsSelection, true, "spaceAsSelection",
54 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION}, 61 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION,
62 PrefService::SYNCABLE_PREF },
55 }; 63 };
56 COMPILE_ASSERT(kNumChewingBooleanPrefs == arraysize(kChewingBooleanPrefs), 64 COMPILE_ASSERT(kNumChewingBooleanPrefs == arraysize(kChewingBooleanPrefs),
57 TheSizeShouldMatch); 65 TheSizeShouldMatch);
58 66
59 const LanguageIntegerRangePreference kChewingIntegerPrefs[] = { 67 const LanguageIntegerRangePreference kChewingIntegerPrefs[] = {
60 { prefs::kLanguageChewingMaxChiSymbolLen, 20, 8, 40, "maxChiSymbolLen", 68 { prefs::kLanguageChewingMaxChiSymbolLen, 20, 8, 40, "maxChiSymbolLen",
61 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN}, 69 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN,
70 PrefService::SYNCABLE_PREF
71 },
62 { prefs::kLanguageChewingCandPerPage, 10, 8, 10, "candPerPage", 72 { prefs::kLanguageChewingCandPerPage, 10, 8, 10, "candPerPage",
63 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE}, 73 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE,
74 PrefService::SYNCABLE_PREF
75 },
64 }; 76 };
65 COMPILE_ASSERT(kNumChewingIntegerPrefs == arraysize(kChewingIntegerPrefs), 77 COMPILE_ASSERT(kNumChewingIntegerPrefs == arraysize(kChewingIntegerPrefs),
66 TheSizeShouldMatch); 78 TheSizeShouldMatch);
67 79
68 const LanguageMultipleChoicePreference<const char*> 80 const LanguageMultipleChoicePreference<const char*>
69 kChewingMultipleChoicePrefs[] = { 81 kChewingMultipleChoicePrefs[] = {
70 { prefs::kLanguageChewingKeyboardType, 82 { prefs::kLanguageChewingKeyboardType,
71 "default", 83 "default",
72 "KBType", 84 "KBType",
73 {{ "default", 85 {{ "default",
74 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DEFAULT }, 86 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DEFAULT },
75 { "hsu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HSU }, 87 { "hsu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HSU },
76 { "ibm", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_IBM }, 88 { "ibm", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_IBM },
77 { "gin_yieh", 89 { "gin_yieh",
78 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_GIN_YIEH }, 90 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_GIN_YIEH },
79 { "eten", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN }, 91 { "eten", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN },
80 { "eten26", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN26 }, 92 { "eten26", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN26 },
81 { "dvorak", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK }, 93 { "dvorak", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK },
82 { "dvorak_hsu", 94 { "dvorak_hsu",
83 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK_HSU }, 95 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK_HSU },
84 { "dachen_26", 96 { "dachen_26",
85 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26 }, 97 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26 },
86 { "hanyu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU }}, 98 { "hanyu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU }},
87 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE, 99 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE,
100 PrefService::SYNCABLE_PREF,
88 }, 101 },
89 { prefs::kLanguageChewingSelKeys, 102 { prefs::kLanguageChewingSelKeys,
90 "1234567890", 103 "1234567890",
91 "selKeys", 104 "selKeys",
92 {{ "1234567890", 105 {{ "1234567890",
93 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234567890 }, 106 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234567890 },
94 { "asdfghjkl;", 107 { "asdfghjkl;",
95 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFGHJKLS }, 108 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFGHJKLS },
96 { "asdfzxcv89", 109 { "asdfzxcv89",
97 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFZXCV89 }, 110 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFZXCV89 },
98 { "asdfjkl789", 111 { "asdfjkl789",
99 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFJKL789 }, 112 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFJKL789 },
100 { "aoeu;qjkix", 113 { "aoeu;qjkix",
101 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUSQJKIX }, 114 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUSQJKIX },
102 { "aoeuhtnsid", 115 { "aoeuhtnsid",
103 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUHTNSID }, 116 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUHTNSID },
104 { "aoeuidhtns", 117 { "aoeuidhtns",
105 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUIDHTNS }, 118 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUIDHTNS },
106 { "1234qweras", 119 { "1234qweras",
107 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS }}, 120 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS }},
108 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS, 121 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS,
122 PrefService::SYNCABLE_PREF,
109 }, 123 },
110 }; 124 };
111 COMPILE_ASSERT(kNumChewingMultipleChoicePrefs == 125 COMPILE_ASSERT(kNumChewingMultipleChoicePrefs ==
112 arraysize(kChewingMultipleChoicePrefs), 126 arraysize(kChewingMultipleChoicePrefs),
113 TheSizeShouldMatch); 127 TheSizeShouldMatch);
114 128
115 const LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType = { 129 const LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType = {
116 prefs::kLanguageChewingHsuSelKeyType, 130 prefs::kLanguageChewingHsuSelKeyType,
117 1, 131 1,
118 "hsuSelKeyType", 132 "hsuSelKeyType",
119 {{ 1, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_1 }, 133 {{ 1, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_1 },
120 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_2 }}, 134 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_2 }},
121 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE, 135 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE,
136 PrefService::SYNCABLE_PREF,
122 }; 137 };
123 138
124 // --------------------------------------------------------------------------- 139 // ---------------------------------------------------------------------------
125 // For Korean input method (ibus-hangul) 140 // For Korean input method (ibus-hangul)
126 // --------------------------------------------------------------------------- 141 // ---------------------------------------------------------------------------
127 const char kHangulSectionName[] = "engine/Hangul"; 142 const char kHangulSectionName[] = "engine/Hangul";
128 const char kHangulKeyboardConfigName[] = "HangulKeyboard"; 143 const char kHangulKeyboardConfigName[] = "HangulKeyboard";
129 const char kHangulHanjaKeysConfigName[] = "HanjaKeys"; 144 const char kHangulHanjaKeysConfigName[] = "HanjaKeys";
130 // We add Control+9 since F9 key is reserved by the window manager. 145 // We add Control+9 since F9 key is reserved by the window manager.
131 // TODO: HanjaKeys are not configurable yet (and we're not sure if it should.) 146 // TODO: HanjaKeys are not configurable yet (and we're not sure if it should.)
(...skipping 16 matching lines...) Expand all
148 163
149 // --------------------------------------------------------------------------- 164 // ---------------------------------------------------------------------------
150 // For Simplified Chinese input method (ibus-pinyin) 165 // For Simplified Chinese input method (ibus-pinyin)
151 // --------------------------------------------------------------------------- 166 // ---------------------------------------------------------------------------
152 const char kPinyinSectionName[] = "engine/Pinyin"; 167 const char kPinyinSectionName[] = "engine/Pinyin";
153 168
154 // We have to sync the |ibus_config_name|s with those in 169 // We have to sync the |ibus_config_name|s with those in
155 // ibus-pinyin/files/src/Config.cc. 170 // ibus-pinyin/files/src/Config.cc.
156 const LanguageBooleanPrefs kPinyinBooleanPrefs[] = { 171 const LanguageBooleanPrefs kPinyinBooleanPrefs[] = {
157 { prefs::kLanguagePinyinCorrectPinyin, true, "CorrectPinyin", 172 { prefs::kLanguagePinyinCorrectPinyin, true, "CorrectPinyin",
158 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN }, 173 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN,
174 PrefService::SYNCABLE_PREF },
159 { prefs::kLanguagePinyinFuzzyPinyin, false, "FuzzyPinyin", 175 { prefs::kLanguagePinyinFuzzyPinyin, false, "FuzzyPinyin",
160 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN }, 176 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN,
177 PrefService::SYNCABLE_PREF },
161 { prefs::kLanguagePinyinShiftSelectCandidate, false, "ShiftSelectCandidate", 178 { prefs::kLanguagePinyinShiftSelectCandidate, false, "ShiftSelectCandidate",
162 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN }, 179 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN,
180 PrefService::SYNCABLE_PREF },
163 { prefs::kLanguagePinyinMinusEqualPage, true, "MinusEqualPage", 181 { prefs::kLanguagePinyinMinusEqualPage, true, "MinusEqualPage",
164 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE }, 182 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE,
183 PrefService::SYNCABLE_PREF },
165 { prefs::kLanguagePinyinCommaPeriodPage, true, "CommaPeriodPage", 184 { prefs::kLanguagePinyinCommaPeriodPage, true, "CommaPeriodPage",
166 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE }, 185 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE,
186 PrefService::SYNCABLE_PREF },
167 { prefs::kLanguagePinyinAutoCommit, false, "AutoCommit", 187 { prefs::kLanguagePinyinAutoCommit, false, "AutoCommit",
168 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT }, 188 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT,
189 PrefService::SYNCABLE_PREF },
169 { prefs::kLanguagePinyinDoublePinyin, false, "DoublePinyin", 190 { prefs::kLanguagePinyinDoublePinyin, false, "DoublePinyin",
170 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN }, 191 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN,
192 PrefService::SYNCABLE_PREF },
171 { prefs::kLanguagePinyinInitChinese, true, "InitChinese", 193 { prefs::kLanguagePinyinInitChinese, true, "InitChinese",
172 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE }, 194 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE,
195 PrefService::SYNCABLE_PREF },
173 { prefs::kLanguagePinyinInitFull, false, "InitFull", 196 { prefs::kLanguagePinyinInitFull, false, "InitFull",
174 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL }, 197 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL,
198 PrefService::SYNCABLE_PREF },
175 { prefs::kLanguagePinyinInitFullPunct, true, "InitFullPunct", 199 { prefs::kLanguagePinyinInitFullPunct, true, "InitFullPunct",
176 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT }, 200 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT,
201 PrefService::SYNCABLE_PREF },
177 { prefs::kLanguagePinyinInitSimplifiedChinese, true, "InitSimplifiedChinese", 202 { prefs::kLanguagePinyinInitSimplifiedChinese, true, "InitSimplifiedChinese",
178 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE }, 203 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE,
204 PrefService::SYNCABLE_PREF },
179 // TODO(yusukes): Support PINYIN_{INCOMPLETE,CORRECT,FUZZY}_... prefs (32 205 // TODO(yusukes): Support PINYIN_{INCOMPLETE,CORRECT,FUZZY}_... prefs (32
180 // additional boolean prefs.) 206 // additional boolean prefs.)
181 }; 207 };
182 COMPILE_ASSERT(kNumPinyinBooleanPrefs == arraysize(kPinyinBooleanPrefs), 208 COMPILE_ASSERT(kNumPinyinBooleanPrefs == arraysize(kPinyinBooleanPrefs),
183 TheSizeShouldMatch); 209 TheSizeShouldMatch);
184 // TODO(yusukes): Support HalfWidthPuncts and IncompletePinyin prefs if needed. 210 // TODO(yusukes): Support HalfWidthPuncts and IncompletePinyin prefs if needed.
185 211
186 const LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema = { 212 const LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema = {
187 prefs::kLanguagePinyinDoublePinyinSchema, 213 prefs::kLanguagePinyinDoublePinyinSchema,
188 0, 214 0,
189 "DoublePinyinSchema", 215 "DoublePinyinSchema",
190 {{ 0, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_MSPY}, 216 {{ 0, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_MSPY},
191 { 1, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZRM}, 217 { 1, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZRM},
192 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ABC}, 218 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ABC},
193 { 3, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZGPY}, 219 { 3, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZGPY},
194 { 4, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_PYJJ}}, 220 { 4, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_PYJJ}},
195 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA, 221 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA,
222 PrefService::SYNCABLE_PREF,
196 }; 223 };
197 224
198 const PinyinIntegerPref kPinyinIntegerPrefs[] = { 225 const PinyinIntegerPref kPinyinIntegerPrefs[] = {
199 // TODO(yusukes): the type of lookup_table_page_size on ibus should be uint. 226 // TODO(yusukes): the type of lookup_table_page_size on ibus should be uint.
200 { prefs::kLanguagePinyinLookupTablePageSize, 5, "LookupTablePageSize" }, 227 { prefs::kLanguagePinyinLookupTablePageSize, 5, "LookupTablePageSize",
228 PrefService::UNSYNCABLE_PREF } // don't sync as it's not user configurable.
201 }; 229 };
202 COMPILE_ASSERT(kNumPinyinIntegerPrefs == arraysize(kPinyinIntegerPrefs), 230 COMPILE_ASSERT(kNumPinyinIntegerPrefs == arraysize(kPinyinIntegerPrefs),
203 TheSizeShouldMatch); 231 TheSizeShouldMatch);
204 232
205 // --------------------------------------------------------------------------- 233 // ---------------------------------------------------------------------------
206 // For Japanese input method (ibus-mozc) 234 // For Japanese input method (ibus-mozc)
207 // --------------------------------------------------------------------------- 235 // ---------------------------------------------------------------------------
208 const char kMozcSectionName[] = "engine/Mozc"; 236 const char kMozcSectionName[] = "engine/Mozc";
209 237
210 #define IDS_MOZC(suffix) \ 238 #define IDS_MOZC(suffix) \
211 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_##suffix 239 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_##suffix
212 240
213 const LanguageBooleanPrefs kMozcBooleanPrefs[] = { 241 const LanguageBooleanPrefs kMozcBooleanPrefs[] = {
214 { prefs::kLanguageMozcIncognitoMode, 242 { prefs::kLanguageMozcIncognitoMode,
215 false, 243 false,
216 "incognito_mode", 244 "incognito_mode",
217 IDS_MOZC(INCOGNITO_MODE) 245 IDS_MOZC(INCOGNITO_MODE),
218 }, 246 PrefService::SYNCABLE_PREF },
219 { prefs::kLanguageMozcUseAutoImeTurnOff, 247 { prefs::kLanguageMozcUseAutoImeTurnOff,
220 true, 248 true,
221 "use_auto_ime_turn_off", 249 "use_auto_ime_turn_off",
222 IDS_MOZC(USE_AUTO_IME_TURN_OFF) 250 IDS_MOZC(USE_AUTO_IME_TURN_OFF),
223 }, 251 PrefService::SYNCABLE_PREF },
224 { prefs::kLanguageMozcUseDateConversion, 252 { prefs::kLanguageMozcUseDateConversion,
225 true, 253 true,
226 "use_date_conversion", 254 "use_date_conversion",
227 IDS_MOZC(USE_DATE_CONVERSION) 255 IDS_MOZC(USE_DATE_CONVERSION),
228 }, 256 PrefService::SYNCABLE_PREF },
229 { prefs::kLanguageMozcUseSingleKanjiConversion, 257 { prefs::kLanguageMozcUseSingleKanjiConversion,
230 true, 258 true,
231 "use_single_kanji_conversion", 259 "use_single_kanji_conversion",
232 IDS_MOZC(USE_SINGLE_KANJI_CONVERSION) 260 IDS_MOZC(USE_SINGLE_KANJI_CONVERSION),
233 }, 261 PrefService::SYNCABLE_PREF },
234 { prefs::kLanguageMozcUseSymbolConversion, 262 { prefs::kLanguageMozcUseSymbolConversion,
235 true, 263 true,
236 "use_symbol_conversion", 264 "use_symbol_conversion",
237 IDS_MOZC(USE_SYMBOL_CONVERSION) 265 IDS_MOZC(USE_SYMBOL_CONVERSION),
238 }, 266 PrefService::SYNCABLE_PREF },
239 { prefs::kLanguageMozcUseNumberConversion, 267 { prefs::kLanguageMozcUseNumberConversion,
240 true, 268 true,
241 "use_number_conversion", 269 "use_number_conversion",
242 IDS_MOZC(USE_NUMBER_CONVERSION) 270 IDS_MOZC(USE_NUMBER_CONVERSION),
243 }, 271 PrefService::SYNCABLE_PREF },
244 { prefs::kLanguageMozcUseHistorySuggest, 272 { prefs::kLanguageMozcUseHistorySuggest,
245 true, 273 true,
246 "use_history_suggest", 274 "use_history_suggest",
247 IDS_MOZC(USE_HISTORY_SUGGEST) 275 IDS_MOZC(USE_HISTORY_SUGGEST),
248 }, 276 PrefService::SYNCABLE_PREF },
249 { prefs::kLanguageMozcUseDictionarySuggest, 277 { prefs::kLanguageMozcUseDictionarySuggest,
250 true, 278 true,
251 "use_dictionary_suggest", 279 "use_dictionary_suggest",
252 IDS_MOZC(USE_DICTIONARY_SUGGEST) 280 IDS_MOZC(USE_DICTIONARY_SUGGEST),
253 }, 281 PrefService::SYNCABLE_PREF },
254 }; 282 };
255 COMPILE_ASSERT(kNumMozcBooleanPrefs == arraysize(kMozcBooleanPrefs), 283 COMPILE_ASSERT(kNumMozcBooleanPrefs == arraysize(kMozcBooleanPrefs),
256 TheSizeShouldMatch); 284 TheSizeShouldMatch);
257 285
258 extern const LanguageMultipleChoicePreference<const char*> 286 extern const LanguageMultipleChoicePreference<const char*>
259 kMozcMultipleChoicePrefs[] = { 287 kMozcMultipleChoicePrefs[] = {
260 { prefs::kLanguageMozcPreeditMethod, 288 { prefs::kLanguageMozcPreeditMethod,
261 "ROMAN", 289 "ROMAN",
262 "preedit_method", 290 "preedit_method",
263 {{ "ROMAN", IDS_MOZC(PREEDIT_METHOD_ROMAN) }, 291 {{ "ROMAN", IDS_MOZC(PREEDIT_METHOD_ROMAN) },
264 { "KANA", IDS_MOZC(PREEDIT_METHOD_KANA) }}, 292 { "KANA", IDS_MOZC(PREEDIT_METHOD_KANA) }},
265 IDS_MOZC(PREEDIT_METHOD), 293 IDS_MOZC(PREEDIT_METHOD),
294 PrefService::SYNCABLE_PREF,
266 }, 295 },
267 { prefs::kLanguageMozcSessionKeymap, 296 { prefs::kLanguageMozcSessionKeymap,
268 "MSIME", 297 "MSIME",
269 "session_keymap", 298 "session_keymap",
270 {{ "ATOK", IDS_MOZC(SESSION_KEYMAP_ATOK) }, 299 {{ "ATOK", IDS_MOZC(SESSION_KEYMAP_ATOK) },
271 { "MSIME", IDS_MOZC(SESSION_KEYMAP_MSIME) }, 300 { "MSIME", IDS_MOZC(SESSION_KEYMAP_MSIME) },
272 { "KOTOERI", IDS_MOZC(SESSION_KEYMAP_KOTOERI) }}, 301 { "KOTOERI", IDS_MOZC(SESSION_KEYMAP_KOTOERI) }},
273 // TODO: Support "CUSTOM" keymap. 302 // TODO: Support "CUSTOM" keymap.
274 IDS_MOZC(SESSION_KEYMAP), 303 IDS_MOZC(SESSION_KEYMAP),
304 PrefService::SYNCABLE_PREF,
275 }, 305 },
276 { prefs::kLanguageMozcPunctuationMethod, 306 { prefs::kLanguageMozcPunctuationMethod,
277 "KUTEN_TOUTEN", 307 "KUTEN_TOUTEN",
278 "punctuation_method", 308 "punctuation_method",
279 {{ "KUTEN_TOUTEN", 309 {{ "KUTEN_TOUTEN",
280 IDS_MOZC(PUNCTUATION_METHOD_KUTEN_TOUTEN) }, 310 IDS_MOZC(PUNCTUATION_METHOD_KUTEN_TOUTEN) },
281 { "COMMA_PERIOD", 311 { "COMMA_PERIOD",
282 IDS_MOZC(PUNCTUATION_METHOD_COMMA_PERIOD) }, 312 IDS_MOZC(PUNCTUATION_METHOD_COMMA_PERIOD) },
283 { "KUTEN_PERIOD", 313 { "KUTEN_PERIOD",
284 IDS_MOZC(PUNCTUATION_METHOD_KUTEN_PERIOD) }, 314 IDS_MOZC(PUNCTUATION_METHOD_KUTEN_PERIOD) },
285 { "COMMA_TOUTEN", 315 { "COMMA_TOUTEN",
286 IDS_MOZC(PUNCTUATION_METHOD_COMMA_TOUTEN) }}, 316 IDS_MOZC(PUNCTUATION_METHOD_COMMA_TOUTEN) }},
287 IDS_MOZC(PUNCTUATION_METHOD), 317 IDS_MOZC(PUNCTUATION_METHOD),
318 PrefService::SYNCABLE_PREF,
288 }, 319 },
289 { prefs::kLanguageMozcSymbolMethod, 320 { prefs::kLanguageMozcSymbolMethod,
290 "CORNER_BRACKET_MIDDLE_DOT", 321 "CORNER_BRACKET_MIDDLE_DOT",
291 "symbol_method", 322 "symbol_method",
292 {{ "CORNER_BRACKET_MIDDLE_DOT", 323 {{ "CORNER_BRACKET_MIDDLE_DOT",
293 IDS_MOZC(SYMBOL_METHOD_CORNER_BRACKET_MIDDLE_DOT) }, 324 IDS_MOZC(SYMBOL_METHOD_CORNER_BRACKET_MIDDLE_DOT) },
294 { "SQUARE_BRACKET_SLASH", 325 { "SQUARE_BRACKET_SLASH",
295 IDS_MOZC(SYMBOL_METHOD_SQUARE_BRACKET_SLASH) }, 326 IDS_MOZC(SYMBOL_METHOD_SQUARE_BRACKET_SLASH) },
296 { "CORNER_BRACKET_SLASH", 327 { "CORNER_BRACKET_SLASH",
297 IDS_MOZC(SYMBOL_METHOD_CORNER_BRACKET_SLASH) }, 328 IDS_MOZC(SYMBOL_METHOD_CORNER_BRACKET_SLASH) },
298 { "SQUARE_BRACKET_MIDDLE_DOT", 329 { "SQUARE_BRACKET_MIDDLE_DOT",
299 IDS_MOZC(SYMBOL_METHOD_SQUARE_BRACKET_MIDDLE_DOT) }}, 330 IDS_MOZC(SYMBOL_METHOD_SQUARE_BRACKET_MIDDLE_DOT) }},
300 IDS_MOZC(SYMBOL_METHOD), 331 IDS_MOZC(SYMBOL_METHOD),
332 PrefService::SYNCABLE_PREF,
301 }, 333 },
302 { prefs::kLanguageMozcSpaceCharacterForm, 334 { prefs::kLanguageMozcSpaceCharacterForm,
303 "FUNDAMENTAL_INPUT_MODE", 335 "FUNDAMENTAL_INPUT_MODE",
304 "space_character_form", 336 "space_character_form",
305 {{ "FUNDAMENTAL_INPUT_MODE", 337 {{ "FUNDAMENTAL_INPUT_MODE",
306 IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_INPUT_MODE) }, 338 IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_INPUT_MODE) },
307 { "FUNDAMENTAL_FULL_WIDTH", 339 { "FUNDAMENTAL_FULL_WIDTH",
308 IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_FULL_WIDTH) }, 340 IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_FULL_WIDTH) },
309 { "FUNDAMENTAL_HALF_WIDTH", 341 { "FUNDAMENTAL_HALF_WIDTH",
310 IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_HALF_WIDTH) }}, 342 IDS_MOZC(SPACE_CHARACTER_FORM_FUNDAMENTAL_HALF_WIDTH) }},
311 IDS_MOZC(SPACE_CHARACTER_FORM), 343 IDS_MOZC(SPACE_CHARACTER_FORM),
344 PrefService::SYNCABLE_PREF,
312 }, 345 },
313 { prefs::kLanguageMozcHistoryLearningLevel, 346 { prefs::kLanguageMozcHistoryLearningLevel,
314 "DEFAULT_HISTORY", 347 "DEFAULT_HISTORY",
315 "history_learning_level", 348 "history_learning_level",
316 {{ "DEFAULT_HISTORY", 349 {{ "DEFAULT_HISTORY",
317 IDS_MOZC(HISTORY_LEARNING_LEVEL_DEFAULT_HISTORY) }, 350 IDS_MOZC(HISTORY_LEARNING_LEVEL_DEFAULT_HISTORY) },
318 { "READ_ONLY", 351 { "READ_ONLY",
319 IDS_MOZC(HISTORY_LEARNING_LEVEL_READ_ONLY) }, 352 IDS_MOZC(HISTORY_LEARNING_LEVEL_READ_ONLY) },
320 { "NO_HISTORY", 353 { "NO_HISTORY",
321 IDS_MOZC(HISTORY_LEARNING_LEVEL_NO_HISTORY) }}, 354 IDS_MOZC(HISTORY_LEARNING_LEVEL_NO_HISTORY) }},
322 IDS_MOZC(HISTORY_LEARNING_LEVEL), 355 IDS_MOZC(HISTORY_LEARNING_LEVEL),
356 PrefService::SYNCABLE_PREF,
323 }, 357 },
324 // TODO(mazda): Uncomment this block once the candidate window in Chrome OS 358 // TODO(mazda): Uncomment this block once the candidate window in Chrome OS
325 // supports changing shortcut labels. 359 // supports changing shortcut labels.
326 // { prefs::kLanguageMozcSelectionShortcut, 360 // { prefs::kLanguageMozcSelectionShortcut,
327 // "SHORTCUT_123456789", 361 // "SHORTCUT_123456789",
328 // "selection_shortcut", 362 // "selection_shortcut",
329 // {{ "NO_SHORTCUT", 363 // {{ "NO_SHORTCUT",
330 // IDS_MOZC(SELECTION_SHORTCUT_NO_SHORTCUT) }, 364 // IDS_MOZC(SELECTION_SHORTCUT_NO_SHORTCUT) },
331 // { "SHORTCUT_123456789", 365 // { "SHORTCUT_123456789",
332 // IDS_MOZC(SELECTION_SHORTCUT_SHORTCUT_123456789) }, 366 // IDS_MOZC(SELECTION_SHORTCUT_SHORTCUT_123456789) },
333 // { "SHORTCUT_ASDFGHJKL", 367 // { "SHORTCUT_ASDFGHJKL",
334 // IDS_MOZC(SELECTION_SHORTCUT_SHORTCUT_ASDFGHJKL) }}, 368 // IDS_MOZC(SELECTION_SHORTCUT_SHORTCUT_ASDFGHJKL) }},
335 // IDS_MOZC(SELECTION_SHORTCUT), 369 // IDS_MOZC(SELECTION_SHORTCUT),
370 // PrefService::SYNCABLE_PREF,
336 // }, 371 // },
337 { prefs::kLanguageMozcShiftKeyModeSwitch, 372 { prefs::kLanguageMozcShiftKeyModeSwitch,
338 "ASCII_INPUT_MODE", 373 "ASCII_INPUT_MODE",
339 "shift_key_mode_switch", 374 "shift_key_mode_switch",
340 {{ "OFF", 375 {{ "OFF",
341 IDS_MOZC(SHIFT_KEY_MODE_SWITCH_OFF) }, 376 IDS_MOZC(SHIFT_KEY_MODE_SWITCH_OFF) },
342 { "ASCII_INPUT_MODE", 377 { "ASCII_INPUT_MODE",
343 IDS_MOZC(SHIFT_KEY_MODE_SWITCH_ASCII_INPUT_MODE) }, 378 IDS_MOZC(SHIFT_KEY_MODE_SWITCH_ASCII_INPUT_MODE) },
344 { "KATAKANA_INPUT_MODE", 379 { "KATAKANA_INPUT_MODE",
345 IDS_MOZC(SHIFT_KEY_MODE_SWITCH_KATAKANA_INPUT_MODE) }}, 380 IDS_MOZC(SHIFT_KEY_MODE_SWITCH_KATAKANA_INPUT_MODE) }},
346 IDS_MOZC(SHIFT_KEY_MODE_SWITCH), 381 IDS_MOZC(SHIFT_KEY_MODE_SWITCH),
382 PrefService::SYNCABLE_PREF,
347 }, 383 },
348 { prefs::kLanguageMozcNumpadCharacterForm, 384 { prefs::kLanguageMozcNumpadCharacterForm,
349 "NUMPAD_HALF_WIDTH", 385 "NUMPAD_HALF_WIDTH",
350 "numpad_character_form", 386 "numpad_character_form",
351 {{ "NUMPAD_INPUT_MODE", 387 {{ "NUMPAD_INPUT_MODE",
352 IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_INPUT_MODE) }, 388 IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_INPUT_MODE) },
353 { "NUMPAD_FULL_WIDTH", 389 { "NUMPAD_FULL_WIDTH",
354 IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_FULL_WIDTH) }, 390 IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_FULL_WIDTH) },
355 { "NUMPAD_HALF_WIDTH", 391 { "NUMPAD_HALF_WIDTH",
356 IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_HALF_WIDTH) }, 392 IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_HALF_WIDTH) },
357 { "NUMPAD_DIRECT_INPUT", 393 { "NUMPAD_DIRECT_INPUT",
358 IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_DIRECT_INPUT) }}, 394 IDS_MOZC(NUMPAD_CHARACTER_FORM_NUMPAD_DIRECT_INPUT) }},
359 IDS_MOZC(NUMPAD_CHARACTER_FORM), 395 IDS_MOZC(NUMPAD_CHARACTER_FORM),
396 PrefService::SYNCABLE_PREF,
360 }, 397 },
361 }; 398 };
362 COMPILE_ASSERT(kNumMozcMultipleChoicePrefs == 399 COMPILE_ASSERT(kNumMozcMultipleChoicePrefs ==
363 arraysize(kMozcMultipleChoicePrefs), 400 arraysize(kMozcMultipleChoicePrefs),
364 TheSizeShouldMatch); 401 TheSizeShouldMatch);
365 402
366 const LanguageIntegerRangePreference kMozcIntegerPrefs[] = { 403 const LanguageIntegerRangePreference kMozcIntegerPrefs[] = {
367 { prefs::kLanguageMozcSuggestionsSize, 3, 1, 9, "suggestions_size", 404 { prefs::kLanguageMozcSuggestionsSize, 3, 1, 9, "suggestions_size",
368 IDS_MOZC(SUGGESTIONS_SIZE)}, 405 IDS_MOZC(SUGGESTIONS_SIZE), PrefService::SYNCABLE_PREF }
369 }; 406 };
370 COMPILE_ASSERT(kNumMozcIntegerPrefs == arraysize(kMozcIntegerPrefs), 407 COMPILE_ASSERT(kNumMozcIntegerPrefs == arraysize(kMozcIntegerPrefs),
371 TheSizeShouldMatch); 408 TheSizeShouldMatch);
372 409
373 #undef IDS_MOZC 410 #undef IDS_MOZC
374 411
375 // --------------------------------------------------------------------------- 412 // ---------------------------------------------------------------------------
376 // For keyboard stuff 413 // For keyboard stuff
377 // --------------------------------------------------------------------------- 414 // ---------------------------------------------------------------------------
378 const LanguageMultipleChoicePreference<int> kXkbModifierMultipleChoicePrefs = {
379 NULL, // don't use this field since the config is associated with 3 prefs.
380 kNoRemap,
381 NULL, // does not use the ibus configuration service.
382 {{ kNoRemap, IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_NO_REMAP },
383 { kSwapCtrlAndAlt,
384 IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_REMAP_CTRL_ALT },
385 { kSwapSearchAndCtrl,
386 IDS_OPTIONS_SETTINGS_LANGUAGES_XKB_MODIFIER_REMAP_SEARCH_CTRL }},
387 0, // does not use the label.
388 };
389
390 const int kXkbAutoRepeatDelayInMs = 500; 415 const int kXkbAutoRepeatDelayInMs = 500;
391 const int kXkbAutoRepeatIntervalInMs = 50; 416 const int kXkbAutoRepeatIntervalInMs = 50;
392 const char kPreferredKeyboardLayout[] = "PreferredKeyboardLayout"; 417 const char kPreferredKeyboardLayout[] = "PreferredKeyboardLayout";
393 418
394 } // namespace language_prefs 419 } // namespace language_prefs
395 } // namespace chromeos 420 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/language_preferences.h ('k') | chrome/browser/chromeos/language_preferences_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698