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

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

Issue 12079097: Introduce PrefRegistrySyncable, simplifying PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to head again; base::File changes conflicted. Created 7 years, 10 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) 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 "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/browser/prefs/pref_registry_simple.h" 7 #include "chrome/browser/prefs/pref_registry_simple.h"
8 #include "chrome/browser/prefs/pref_registry_syncable.h"
8 #include "chrome/common/pref_names.h" 9 #include "chrome/common/pref_names.h"
9 #include "grit/generated_resources.h" 10 #include "grit/generated_resources.h"
10 11
11 namespace chromeos { 12 namespace chromeos {
12 namespace language_prefs { 13 namespace language_prefs {
13 14
14 // --------------------------------------------------------------------------- 15 // ---------------------------------------------------------------------------
15 // For ibus-daemon 16 // For ibus-daemon
16 // --------------------------------------------------------------------------- 17 // ---------------------------------------------------------------------------
17 const char kGeneralSectionName[] = "general"; 18 const char kGeneralSectionName[] = "general";
18 const char kPreloadEnginesConfigName[] = "preload_engines"; 19 const char kPreloadEnginesConfigName[] = "preload_engines";
19 20
20 // --------------------------------------------------------------------------- 21 // ---------------------------------------------------------------------------
21 // For Traditional Chinese input method (ibus-mozc-chewing) 22 // For Traditional Chinese input method (ibus-mozc-chewing)
22 // --------------------------------------------------------------------------- 23 // ---------------------------------------------------------------------------
23 const char kChewingSectionName[] = "engine/Chewing"; 24 const char kChewingSectionName[] = "engine/Chewing";
24 25
25 // We have to sync the |ibus_config_name|s with those in 26 // We have to sync the |ibus_config_name|s with those in
26 // ibus-chewing/files/src/Config.cc. 27 // ibus-chewing/files/src/Config.cc.
27 const LanguageBooleanPrefs kChewingBooleanPrefs[] = { 28 const LanguageBooleanPrefs kChewingBooleanPrefs[] = {
28 { prefs::kLanguageChewingAutoShiftCur, false, "autoShiftCur", 29 { prefs::kLanguageChewingAutoShiftCur, false, "autoShiftCur",
29 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR, 30 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR,
30 PrefServiceSyncable::SYNCABLE_PREF }, 31 PrefRegistrySyncable::SYNCABLE_PREF },
31 { prefs::kLanguageChewingAddPhraseDirection, false, "addPhraseDirection", 32 { prefs::kLanguageChewingAddPhraseDirection, false, "addPhraseDirection",
32 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION, 33 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION,
33 PrefServiceSyncable::SYNCABLE_PREF }, 34 PrefRegistrySyncable::SYNCABLE_PREF },
34 /* Temporarily disabled. (crosbug.com/14185) 35 /* Temporarily disabled. (crosbug.com/14185)
35 { prefs::kLanguageChewingEasySymbolInput, true, "easySymbolInput", 36 { prefs::kLanguageChewingEasySymbolInput, true, "easySymbolInput",
36 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT, 37 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT,
37 PrefServiceSyncable::SYNCABLE_PREF }, 38 PrefRegistrySyncable::SYNCABLE_PREF },
38 */ 39 */
39 { prefs::kLanguageChewingEscCleanAllBuf, false, "escCleanAllBuf", 40 { prefs::kLanguageChewingEscCleanAllBuf, false, "escCleanAllBuf",
40 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF, 41 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF,
41 PrefServiceSyncable::SYNCABLE_PREF }, 42 PrefRegistrySyncable::SYNCABLE_PREF },
42 { prefs::kLanguageChewingForceLowercaseEnglish, false, 43 { prefs::kLanguageChewingForceLowercaseEnglish, false,
43 "forceLowercaseEnglish", 44 "forceLowercaseEnglish",
44 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH, 45 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH,
45 PrefServiceSyncable::SYNCABLE_PREF }, 46 PrefRegistrySyncable::SYNCABLE_PREF },
46 /* Temporarily disabled. (crosbug.com/14185) 47 /* Temporarily disabled. (crosbug.com/14185)
47 { prefs::kLanguageChewingPlainZhuyin, false, "plainZhuyin", 48 { prefs::kLanguageChewingPlainZhuyin, false, "plainZhuyin",
48 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN, 49 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN,
49 PrefServiceSyncable::SYNCABLE_PREF }, 50 PrefRegistrySyncable::SYNCABLE_PREF },
50 */ 51 */
51 { prefs::kLanguageChewingPhraseChoiceRearward, true, "phraseChoiceRearward", 52 { prefs::kLanguageChewingPhraseChoiceRearward, true, "phraseChoiceRearward",
52 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD, 53 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD,
53 PrefServiceSyncable::SYNCABLE_PREF }, 54 PrefRegistrySyncable::SYNCABLE_PREF },
54 { prefs::kLanguageChewingSpaceAsSelection, true, "spaceAsSelection", 55 { prefs::kLanguageChewingSpaceAsSelection, true, "spaceAsSelection",
55 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION, 56 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION,
56 PrefServiceSyncable::SYNCABLE_PREF }, 57 PrefRegistrySyncable::SYNCABLE_PREF },
57 }; 58 };
58 COMPILE_ASSERT(kNumChewingBooleanPrefs == arraysize(kChewingBooleanPrefs), 59 COMPILE_ASSERT(kNumChewingBooleanPrefs == arraysize(kChewingBooleanPrefs),
59 TheSizeShouldMatch); 60 TheSizeShouldMatch);
60 61
61 const LanguageIntegerRangePreference kChewingIntegerPrefs[] = { 62 const LanguageIntegerRangePreference kChewingIntegerPrefs[] = {
62 { prefs::kLanguageChewingMaxChiSymbolLen, 20, 8, 40, "maxChiSymbolLen", 63 { prefs::kLanguageChewingMaxChiSymbolLen, 20, 8, 40, "maxChiSymbolLen",
63 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN, 64 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_MAX_CHI_SYMBOL_LEN,
64 PrefServiceSyncable::SYNCABLE_PREF 65 PrefRegistrySyncable::SYNCABLE_PREF
65 }, 66 },
66 { prefs::kLanguageChewingCandPerPage, 10, 8, 10, "candPerPage", 67 { prefs::kLanguageChewingCandPerPage, 10, 8, 10, "candPerPage",
67 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE, 68 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_CAND_PER_PAGE,
68 PrefServiceSyncable::SYNCABLE_PREF 69 PrefRegistrySyncable::SYNCABLE_PREF
69 }, 70 },
70 }; 71 };
71 COMPILE_ASSERT(kNumChewingIntegerPrefs == arraysize(kChewingIntegerPrefs), 72 COMPILE_ASSERT(kNumChewingIntegerPrefs == arraysize(kChewingIntegerPrefs),
72 TheSizeShouldMatch); 73 TheSizeShouldMatch);
73 74
74 const LanguageMultipleChoicePreference<const char*> 75 const LanguageMultipleChoicePreference<const char*>
75 kChewingMultipleChoicePrefs[] = { 76 kChewingMultipleChoicePrefs[] = {
76 { prefs::kLanguageChewingKeyboardType, 77 { prefs::kLanguageChewingKeyboardType,
77 "default", 78 "default",
78 "KBType", 79 "KBType",
79 {{ "default", 80 {{ "default",
80 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DEFAULT }, 81 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DEFAULT },
81 { "hsu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HSU }, 82 { "hsu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HSU },
82 { "ibm", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_IBM }, 83 { "ibm", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_IBM },
83 { "gin_yieh", 84 { "gin_yieh",
84 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_GIN_YIEH }, 85 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_GIN_YIEH },
85 { "eten", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN }, 86 { "eten", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN },
86 { "eten26", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN26 }, 87 { "eten26", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN26 },
87 { "dvorak", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK }, 88 { "dvorak", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK },
88 { "dvorak_hsu", 89 { "dvorak_hsu",
89 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK_HSU }, 90 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK_HSU },
90 { "dachen_26", 91 { "dachen_26",
91 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26 }, 92 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26 },
92 { "hanyu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU }}, 93 { "hanyu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU }},
93 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE, 94 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE,
94 PrefServiceSyncable::SYNCABLE_PREF, 95 PrefRegistrySyncable::SYNCABLE_PREF,
95 }, 96 },
96 { prefs::kLanguageChewingSelKeys, 97 { prefs::kLanguageChewingSelKeys,
97 "1234567890", 98 "1234567890",
98 "selKeys", 99 "selKeys",
99 {{ "1234567890", 100 {{ "1234567890",
100 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234567890 }, 101 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234567890 },
101 { "asdfghjkl;", 102 { "asdfghjkl;",
102 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFGHJKLS }, 103 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFGHJKLS },
103 { "asdfzxcv89", 104 { "asdfzxcv89",
104 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFZXCV89 }, 105 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFZXCV89 },
105 { "asdfjkl789", 106 { "asdfjkl789",
106 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFJKL789 }, 107 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFJKL789 },
107 { "aoeu;qjkix", 108 { "aoeu;qjkix",
108 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUSQJKIX }, 109 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUSQJKIX },
109 { "aoeuhtnsid", 110 { "aoeuhtnsid",
110 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUHTNSID }, 111 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUHTNSID },
111 { "aoeuidhtns", 112 { "aoeuidhtns",
112 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUIDHTNS }, 113 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUIDHTNS },
113 { "1234qweras", 114 { "1234qweras",
114 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS }}, 115 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS }},
115 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS, 116 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS,
116 PrefServiceSyncable::SYNCABLE_PREF, 117 PrefRegistrySyncable::SYNCABLE_PREF,
117 }, 118 },
118 }; 119 };
119 COMPILE_ASSERT(kNumChewingMultipleChoicePrefs == 120 COMPILE_ASSERT(kNumChewingMultipleChoicePrefs ==
120 arraysize(kChewingMultipleChoicePrefs), 121 arraysize(kChewingMultipleChoicePrefs),
121 TheSizeShouldMatch); 122 TheSizeShouldMatch);
122 123
123 const LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType = { 124 const LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType = {
124 prefs::kLanguageChewingHsuSelKeyType, 125 prefs::kLanguageChewingHsuSelKeyType,
125 1, 126 1,
126 "hsuSelKeyType", 127 "hsuSelKeyType",
127 {{ 1, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_1 }, 128 {{ 1, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_1 },
128 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_2 }}, 129 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE_2 }},
129 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE, 130 IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_HSU_SEL_KEY_TYPE,
130 PrefServiceSyncable::SYNCABLE_PREF, 131 PrefRegistrySyncable::SYNCABLE_PREF,
131 }; 132 };
132 133
133 // --------------------------------------------------------------------------- 134 // ---------------------------------------------------------------------------
134 // For Korean input method (ibus-mozc-hangul) 135 // For Korean input method (ibus-mozc-hangul)
135 // --------------------------------------------------------------------------- 136 // ---------------------------------------------------------------------------
136 const char kHangulSectionName[] = "engine/Hangul"; 137 const char kHangulSectionName[] = "engine/Hangul";
137 const char kHangulKeyboardConfigName[] = "HangulKeyboard"; 138 const char kHangulKeyboardConfigName[] = "HangulKeyboard";
138 139
139 const char kHangulHanjaBindingKeysConfigName[] = "HanjaKeyBindings"; 140 const char kHangulHanjaBindingKeysConfigName[] = "HanjaKeyBindings";
140 // Mozc-hangul treats Hangul_Hanja key as hanja key event even if it is not set. 141 // Mozc-hangul treats Hangul_Hanja key as hanja key event even if it is not set.
(...skipping 20 matching lines...) Expand all
161 // --------------------------------------------------------------------------- 162 // ---------------------------------------------------------------------------
162 // For Simplified Chinese input method (ibus-mozc-pinyin) 163 // For Simplified Chinese input method (ibus-mozc-pinyin)
163 // --------------------------------------------------------------------------- 164 // ---------------------------------------------------------------------------
164 const char kPinyinSectionName[] = "engine/Pinyin"; 165 const char kPinyinSectionName[] = "engine/Pinyin";
165 166
166 // We have to sync the |ibus_config_name|s with those in 167 // We have to sync the |ibus_config_name|s with those in
167 // ibus-mozc-pinyin/files/languages/pinyin/unix/ibus/config_updater.cc. 168 // ibus-mozc-pinyin/files/languages/pinyin/unix/ibus/config_updater.cc.
168 const LanguageBooleanPrefs kPinyinBooleanPrefs[] = { 169 const LanguageBooleanPrefs kPinyinBooleanPrefs[] = {
169 { prefs::kLanguagePinyinCorrectPinyin, true, "CorrectPinyin", 170 { prefs::kLanguagePinyinCorrectPinyin, true, "CorrectPinyin",
170 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN, 171 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_CORRECT_PINYIN,
171 PrefServiceSyncable::SYNCABLE_PREF }, 172 PrefRegistrySyncable::SYNCABLE_PREF },
172 { prefs::kLanguagePinyinFuzzyPinyin, false, "FuzzyPinyin", 173 { prefs::kLanguagePinyinFuzzyPinyin, false, "FuzzyPinyin",
173 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN, 174 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_FUZZY_PINYIN,
174 PrefServiceSyncable::SYNCABLE_PREF }, 175 PrefRegistrySyncable::SYNCABLE_PREF },
175 { prefs::kLanguagePinyinShiftSelectCandidate, false, "ShiftSelectCandidate", 176 { prefs::kLanguagePinyinShiftSelectCandidate, false, "ShiftSelectCandidate",
176 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN, 177 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_SHIFT_SELECT_PINYIN,
177 PrefServiceSyncable::SYNCABLE_PREF }, 178 PrefRegistrySyncable::SYNCABLE_PREF },
178 { prefs::kLanguagePinyinMinusEqualPage, true, "MinusEqualPage", 179 { prefs::kLanguagePinyinMinusEqualPage, true, "MinusEqualPage",
179 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE, 180 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_MINUS_EQUAL_PAGE,
180 PrefServiceSyncable::SYNCABLE_PREF }, 181 PrefRegistrySyncable::SYNCABLE_PREF },
181 { prefs::kLanguagePinyinCommaPeriodPage, true, "CommaPeriodPage", 182 { prefs::kLanguagePinyinCommaPeriodPage, true, "CommaPeriodPage",
182 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE, 183 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_COMMA_PERIOD_PAGE,
183 PrefServiceSyncable::SYNCABLE_PREF }, 184 PrefRegistrySyncable::SYNCABLE_PREF },
184 { prefs::kLanguagePinyinAutoCommit, false, "AutoCommit", 185 { prefs::kLanguagePinyinAutoCommit, false, "AutoCommit",
185 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT, 186 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_AUTO_COMMIT,
186 PrefServiceSyncable::SYNCABLE_PREF }, 187 PrefRegistrySyncable::SYNCABLE_PREF },
187 { prefs::kLanguagePinyinDoublePinyin, false, "DoublePinyin", 188 { prefs::kLanguagePinyinDoublePinyin, false, "DoublePinyin",
188 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN, 189 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_DOUBLE_PINYIN,
189 PrefServiceSyncable::SYNCABLE_PREF }, 190 PrefRegistrySyncable::SYNCABLE_PREF },
190 { prefs::kLanguagePinyinInitChinese, true, "InitChinese", 191 { prefs::kLanguagePinyinInitChinese, true, "InitChinese",
191 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE, 192 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_CHINESE,
192 PrefServiceSyncable::SYNCABLE_PREF }, 193 PrefRegistrySyncable::SYNCABLE_PREF },
193 { prefs::kLanguagePinyinInitFull, false, "InitFull", 194 { prefs::kLanguagePinyinInitFull, false, "InitFull",
194 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL, 195 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL,
195 PrefServiceSyncable::SYNCABLE_PREF }, 196 PrefRegistrySyncable::SYNCABLE_PREF },
196 { prefs::kLanguagePinyinInitFullPunct, true, "InitFullPunct", 197 { prefs::kLanguagePinyinInitFullPunct, true, "InitFullPunct",
197 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT, 198 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_FULL_PUNCT,
198 PrefServiceSyncable::SYNCABLE_PREF }, 199 PrefRegistrySyncable::SYNCABLE_PREF },
199 { prefs::kLanguagePinyinInitSimplifiedChinese, true, "InitSimplifiedChinese", 200 { prefs::kLanguagePinyinInitSimplifiedChinese, true, "InitSimplifiedChinese",
200 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE, 201 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTING_INIT_SIMPLIFIED_CHINESE,
201 PrefServiceSyncable::SYNCABLE_PREF }, 202 PrefRegistrySyncable::SYNCABLE_PREF },
202 // TODO(yusukes): Support PINYIN_{INCOMPLETE,CORRECT,FUZZY}_... prefs (32 203 // TODO(yusukes): Support PINYIN_{INCOMPLETE,CORRECT,FUZZY}_... prefs (32
203 // additional boolean prefs.) 204 // additional boolean prefs.)
204 }; 205 };
205 COMPILE_ASSERT(kNumPinyinBooleanPrefs == arraysize(kPinyinBooleanPrefs), 206 COMPILE_ASSERT(kNumPinyinBooleanPrefs == arraysize(kPinyinBooleanPrefs),
206 TheSizeShouldMatch); 207 TheSizeShouldMatch);
207 // TODO(yusukes): Support HalfWidthPuncts and IncompletePinyin prefs if needed. 208 // TODO(yusukes): Support HalfWidthPuncts and IncompletePinyin prefs if needed.
208 209
209 const LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema = { 210 const LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema = {
210 prefs::kLanguagePinyinDoublePinyinSchema, 211 prefs::kLanguagePinyinDoublePinyinSchema,
211 0, 212 0,
212 "DoublePinyinSchema", 213 "DoublePinyinSchema",
213 {{ 0, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_MSPY}, 214 {{ 0, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_MSPY},
214 { 1, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZRM}, 215 { 1, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZRM},
215 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ABC}, 216 { 2, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ABC},
216 { 3, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZGPY}, 217 { 3, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_ZGPY},
217 { 4, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_PYJJ}}, 218 { 4, IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA_PYJJ}},
218 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA, 219 IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_DOUBLE_SCHEMA,
219 PrefServiceSyncable::SYNCABLE_PREF, 220 PrefRegistrySyncable::SYNCABLE_PREF,
220 }; 221 };
221 222
222 const PinyinIntegerPref kPinyinIntegerPrefs[] = { 223 const PinyinIntegerPref kPinyinIntegerPrefs[] = {
223 // TODO(yusukes): the type of lookup_table_page_size on ibus should be uint. 224 // TODO(yusukes): the type of lookup_table_page_size on ibus should be uint.
224 { prefs::kLanguagePinyinLookupTablePageSize, 225 { prefs::kLanguagePinyinLookupTablePageSize,
225 5, 226 5,
226 "LookupTablePageSize", 227 "LookupTablePageSize",
227 228
228 // don't sync as it's not user configurable. 229 // don't sync as it's not user configurable.
229 PrefServiceSyncable::UNSYNCABLE_PREF } 230 PrefRegistrySyncable::UNSYNCABLE_PREF }
230 }; 231 };
231 COMPILE_ASSERT(kNumPinyinIntegerPrefs == arraysize(kPinyinIntegerPrefs), 232 COMPILE_ASSERT(kNumPinyinIntegerPrefs == arraysize(kPinyinIntegerPrefs),
232 TheSizeShouldMatch); 233 TheSizeShouldMatch);
233 234
234 // --------------------------------------------------------------------------- 235 // ---------------------------------------------------------------------------
235 // For Japanese input method (ibus-mozc) 236 // For Japanese input method (ibus-mozc)
236 // --------------------------------------------------------------------------- 237 // ---------------------------------------------------------------------------
237 const char kMozcSectionName[] = "engine/Mozc"; 238 const char kMozcSectionName[] = "engine/Mozc";
238 239
239 const LanguageBooleanPrefs kMozcBooleanPrefs[] = { 240 const LanguageBooleanPrefs kMozcBooleanPrefs[] = {
240 { prefs::kLanguageMozcIncognitoMode, 241 { prefs::kLanguageMozcIncognitoMode,
241 false, 242 false,
242 "incognito_mode", 243 "incognito_mode",
243 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_INCOGNITO_MODE, 244 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_INCOGNITO_MODE,
244 PrefServiceSyncable::SYNCABLE_PREF }, 245 PrefRegistrySyncable::SYNCABLE_PREF },
245 { prefs::kLanguageMozcUseAutoImeTurnOff, 246 { prefs::kLanguageMozcUseAutoImeTurnOff,
246 true, 247 true,
247 "use_auto_ime_turn_off", 248 "use_auto_ime_turn_off",
248 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_AUTO_IME_TURN_OFF, 249 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_AUTO_IME_TURN_OFF,
249 PrefServiceSyncable::SYNCABLE_PREF }, 250 PrefRegistrySyncable::SYNCABLE_PREF },
250 { prefs::kLanguageMozcUseHistorySuggest, 251 { prefs::kLanguageMozcUseHistorySuggest,
251 true, 252 true,
252 "use_history_suggest", 253 "use_history_suggest",
253 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_HISTORY_SUGGEST, 254 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_HISTORY_SUGGEST,
254 PrefServiceSyncable::SYNCABLE_PREF }, 255 PrefRegistrySyncable::SYNCABLE_PREF },
255 { prefs::kLanguageMozcUseDictionarySuggest, 256 { prefs::kLanguageMozcUseDictionarySuggest,
256 true, 257 true,
257 "use_dictionary_suggest", 258 "use_dictionary_suggest",
258 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_DICTIONARY_SUGGEST, 259 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_USE_DICTIONARY_SUGGEST,
259 PrefServiceSyncable::SYNCABLE_PREF }, 260 PrefRegistrySyncable::SYNCABLE_PREF },
260 }; 261 };
261 COMPILE_ASSERT(kNumMozcBooleanPrefs == arraysize(kMozcBooleanPrefs), 262 COMPILE_ASSERT(kNumMozcBooleanPrefs == arraysize(kMozcBooleanPrefs),
262 TheSizeShouldMatch); 263 TheSizeShouldMatch);
263 264
264 extern const LanguageMultipleChoicePreference<const char*> 265 extern const LanguageMultipleChoicePreference<const char*>
265 kMozcMultipleChoicePrefs[] = { 266 kMozcMultipleChoicePrefs[] = {
266 { prefs::kLanguageMozcPreeditMethod, 267 { prefs::kLanguageMozcPreeditMethod,
267 "ROMAN", 268 "ROMAN",
268 "preedit_method", 269 "preedit_method",
269 {{ "ROMAN", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD_ROMAN }, 270 {{ "ROMAN", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD_ROMAN },
270 { "KANA", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD_KANA }}, 271 { "KANA", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD_KANA }},
271 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD, 272 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PREEDIT_METHOD,
272 PrefServiceSyncable::SYNCABLE_PREF, 273 PrefRegistrySyncable::SYNCABLE_PREF,
273 }, 274 },
274 { prefs::kLanguageMozcSessionKeymap, 275 { prefs::kLanguageMozcSessionKeymap,
275 "MSIME", 276 "MSIME",
276 "session_keymap", 277 "session_keymap",
277 {{ "ATOK", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_ATOK }, 278 {{ "ATOK", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_ATOK },
278 { "MSIME", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_MSIME }, 279 { "MSIME", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_MSIME },
279 { "KOTOERI", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_KOTOERI }}, 280 { "KOTOERI", IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP_KOTOERI }},
280 // TODO: Support "CUSTOM" keymap. 281 // TODO: Support "CUSTOM" keymap.
281 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP, 282 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SESSION_KEYMAP,
282 PrefServiceSyncable::SYNCABLE_PREF, 283 PrefRegistrySyncable::SYNCABLE_PREF,
283 }, 284 },
284 { prefs::kLanguageMozcPunctuationMethod, 285 { prefs::kLanguageMozcPunctuationMethod,
285 "KUTEN_TOUTEN", 286 "KUTEN_TOUTEN",
286 "punctuation_method", 287 "punctuation_method",
287 {{ "KUTEN_TOUTEN", 288 {{ "KUTEN_TOUTEN",
288 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_KUTEN_TOUTEN }, 289 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_KUTEN_TOUTEN },
289 { "COMMA_PERIOD", 290 { "COMMA_PERIOD",
290 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_COMMA_PERIOD }, 291 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_COMMA_PERIOD },
291 { "KUTEN_PERIOD", 292 { "KUTEN_PERIOD",
292 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_KUTEN_PERIOD }, 293 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_KUTEN_PERIOD },
293 { "COMMA_TOUTEN", 294 { "COMMA_TOUTEN",
294 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_COMMA_TOUTEN }}, 295 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD_COMMA_TOUTEN }},
295 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD, 296 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_PUNCTUATION_METHOD,
296 PrefServiceSyncable::SYNCABLE_PREF, 297 PrefRegistrySyncable::SYNCABLE_PREF,
297 }, 298 },
298 { prefs::kLanguageMozcSymbolMethod, 299 { prefs::kLanguageMozcSymbolMethod,
299 "CORNER_BRACKET_MIDDLE_DOT", 300 "CORNER_BRACKET_MIDDLE_DOT",
300 "symbol_method", 301 "symbol_method",
301 {{ "CORNER_BRACKET_MIDDLE_DOT", 302 {{ "CORNER_BRACKET_MIDDLE_DOT",
302 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_CORNER_BRACKET_MIDDLE_D OT }, 303 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_CORNER_BRACKET_MIDDLE_D OT },
303 { "SQUARE_BRACKET_SLASH", 304 { "SQUARE_BRACKET_SLASH",
304 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_SQUARE_BRACKET_SLASH }, 305 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_SQUARE_BRACKET_SLASH },
305 { "CORNER_BRACKET_SLASH", 306 { "CORNER_BRACKET_SLASH",
306 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_CORNER_BRACKET_SLASH }, 307 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_CORNER_BRACKET_SLASH },
307 { "SQUARE_BRACKET_MIDDLE_DOT", 308 { "SQUARE_BRACKET_MIDDLE_DOT",
308 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_SQUARE_BRACKET_MIDDLE_D OT }}, 309 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD_SQUARE_BRACKET_MIDDLE_D OT }},
309 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD, 310 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SYMBOL_METHOD,
310 PrefServiceSyncable::SYNCABLE_PREF, 311 PrefRegistrySyncable::SYNCABLE_PREF,
311 }, 312 },
312 { prefs::kLanguageMozcSpaceCharacterForm, 313 { prefs::kLanguageMozcSpaceCharacterForm,
313 "FUNDAMENTAL_INPUT_MODE", 314 "FUNDAMENTAL_INPUT_MODE",
314 "space_character_form", 315 "space_character_form",
315 {{ "FUNDAMENTAL_INPUT_MODE", 316 {{ "FUNDAMENTAL_INPUT_MODE",
316 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_INPU T_MODE }, 317 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_INPU T_MODE },
317 { "FUNDAMENTAL_FULL_WIDTH", 318 { "FUNDAMENTAL_FULL_WIDTH",
318 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_FULL _WIDTH }, 319 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_FULL _WIDTH },
319 { "FUNDAMENTAL_HALF_WIDTH", 320 { "FUNDAMENTAL_HALF_WIDTH",
320 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_HALF _WIDTH }}, 321 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM_FUNDAMENTAL_HALF _WIDTH }},
321 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM, 322 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SPACE_CHARACTER_FORM,
322 PrefServiceSyncable::SYNCABLE_PREF, 323 PrefRegistrySyncable::SYNCABLE_PREF,
323 }, 324 },
324 { prefs::kLanguageMozcHistoryLearningLevel, 325 { prefs::kLanguageMozcHistoryLearningLevel,
325 "DEFAULT_HISTORY", 326 "DEFAULT_HISTORY",
326 "history_learning_level", 327 "history_learning_level",
327 {{ "DEFAULT_HISTORY", 328 {{ "DEFAULT_HISTORY",
328 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_DEFAULT_HISTOR Y }, 329 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_DEFAULT_HISTOR Y },
329 { "READ_ONLY", 330 { "READ_ONLY",
330 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_READ_ONLY }, 331 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_READ_ONLY },
331 { "NO_HISTORY", 332 { "NO_HISTORY",
332 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_NO_HISTORY }}, 333 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL_NO_HISTORY }},
333 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL, 334 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_HISTORY_LEARNING_LEVEL,
334 PrefServiceSyncable::SYNCABLE_PREF, 335 PrefRegistrySyncable::SYNCABLE_PREF,
335 }, 336 },
336 // TODO(mazda): Uncomment this block once the candidate window in Chrome OS 337 // TODO(mazda): Uncomment this block once the candidate window in Chrome OS
337 // supports changing shortcut labels. 338 // supports changing shortcut labels.
338 // { prefs::kLanguageMozcSelectionShortcut, 339 // { prefs::kLanguageMozcSelectionShortcut,
339 // "SHORTCUT_123456789", 340 // "SHORTCUT_123456789",
340 // "selection_shortcut", 341 // "selection_shortcut",
341 // {{ "NO_SHORTCUT", 342 // {{ "NO_SHORTCUT",
342 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_NO_SHORTCUT }, 343 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_NO_SHORTCUT },
343 // { "SHORTCUT_123456789", 344 // { "SHORTCUT_123456789",
344 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_SHORTCUT_123456 789 }, 345 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_SHORTCUT_123456 789 },
345 // { "SHORTCUT_ASDFGHJKL", 346 // { "SHORTCUT_ASDFGHJKL",
346 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_SHORTCUT_ASDFGH JKL }}, 347 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT_SHORTCUT_ASDFGH JKL }},
347 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT, 348 // IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SELECTION_SHORTCUT,
348 // PrefServiceSyncable::SYNCABLE_PREF, 349 // PrefRegistrySyncable::SYNCABLE_PREF,
349 // }, 350 // },
350 { prefs::kLanguageMozcShiftKeyModeSwitch, 351 { prefs::kLanguageMozcShiftKeyModeSwitch,
351 "ASCII_INPUT_MODE", 352 "ASCII_INPUT_MODE",
352 "shift_key_mode_switch", 353 "shift_key_mode_switch",
353 {{ "OFF", 354 {{ "OFF",
354 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_OFF }, 355 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_OFF },
355 { "ASCII_INPUT_MODE", 356 { "ASCII_INPUT_MODE",
356 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_ASCII_INPUT_MOD E }, 357 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_ASCII_INPUT_MOD E },
357 { "KATAKANA_INPUT_MODE", 358 { "KATAKANA_INPUT_MODE",
358 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_KATAKANA_INPUT_ MODE }}, 359 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH_KATAKANA_INPUT_ MODE }},
359 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH, 360 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SHIFT_KEY_MODE_SWITCH,
360 PrefServiceSyncable::SYNCABLE_PREF, 361 PrefRegistrySyncable::SYNCABLE_PREF,
361 }, 362 },
362 { prefs::kLanguageMozcNumpadCharacterForm, 363 { prefs::kLanguageMozcNumpadCharacterForm,
363 "NUMPAD_HALF_WIDTH", 364 "NUMPAD_HALF_WIDTH",
364 "numpad_character_form", 365 "numpad_character_form",
365 {{ "NUMPAD_INPUT_MODE", 366 {{ "NUMPAD_INPUT_MODE",
366 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_INPUT_MO DE }, 367 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_INPUT_MO DE },
367 { "NUMPAD_FULL_WIDTH", 368 { "NUMPAD_FULL_WIDTH",
368 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_FULL_WID TH }, 369 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_FULL_WID TH },
369 { "NUMPAD_HALF_WIDTH", 370 { "NUMPAD_HALF_WIDTH",
370 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_HALF_WID TH }, 371 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_HALF_WID TH },
371 { "NUMPAD_DIRECT_INPUT", 372 { "NUMPAD_DIRECT_INPUT",
372 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_DIRECT_I NPUT }}, 373 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM_NUMPAD_DIRECT_I NPUT }},
373 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM, 374 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_NUMPAD_CHARACTER_FORM,
374 PrefServiceSyncable::SYNCABLE_PREF, 375 PrefRegistrySyncable::SYNCABLE_PREF,
375 }, 376 },
376 }; 377 };
377 COMPILE_ASSERT(kNumMozcMultipleChoicePrefs == 378 COMPILE_ASSERT(kNumMozcMultipleChoicePrefs ==
378 arraysize(kMozcMultipleChoicePrefs), 379 arraysize(kMozcMultipleChoicePrefs),
379 TheSizeShouldMatch); 380 TheSizeShouldMatch);
380 381
381 const LanguageIntegerRangePreference kMozcIntegerPrefs[] = { 382 const LanguageIntegerRangePreference kMozcIntegerPrefs[] = {
382 { prefs::kLanguageMozcSuggestionsSize, 3, 1, 9, "suggestions_size", 383 { prefs::kLanguageMozcSuggestionsSize, 3, 1, 9, "suggestions_size",
383 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SUGGESTIONS_SIZE, 384 IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SUGGESTIONS_SIZE,
384 PrefServiceSyncable::SYNCABLE_PREF } 385 PrefRegistrySyncable::SYNCABLE_PREF }
385 }; 386 };
386 COMPILE_ASSERT(kNumMozcIntegerPrefs == arraysize(kMozcIntegerPrefs), 387 COMPILE_ASSERT(kNumMozcIntegerPrefs == arraysize(kMozcIntegerPrefs),
387 TheSizeShouldMatch); 388 TheSizeShouldMatch);
388 389
389 // --------------------------------------------------------------------------- 390 // ---------------------------------------------------------------------------
390 // For keyboard stuff 391 // For keyboard stuff
391 // --------------------------------------------------------------------------- 392 // ---------------------------------------------------------------------------
392 const int kXkbAutoRepeatDelayInMs = 500; 393 const int kXkbAutoRepeatDelayInMs = 500;
393 const int kXkbAutoRepeatIntervalInMs = 50; 394 const int kXkbAutoRepeatIntervalInMs = 50;
394 const char kPreferredKeyboardLayout[] = "PreferredKeyboardLayout"; 395 const char kPreferredKeyboardLayout[] = "PreferredKeyboardLayout";
395 396
396 void RegisterPrefs(PrefRegistrySimple* registry) { 397 void RegisterPrefs(PrefRegistrySimple* registry) {
397 // We use an empty string here rather than a hardware keyboard layout name 398 // We use an empty string here rather than a hardware keyboard layout name
398 // since input_method::GetHardwareInputMethodId() might return a fallback 399 // since input_method::GetHardwareInputMethodId() might return a fallback
399 // layout name if registry->RegisterStringPref(kHardwareKeyboardLayout) 400 // layout name if registry->RegisterStringPref(kHardwareKeyboardLayout)
400 // is not called yet. 401 // is not called yet.
401 registry->RegisterStringPref(kPreferredKeyboardLayout, ""); 402 registry->RegisterStringPref(kPreferredKeyboardLayout, "");
402 } 403 }
403 404
404 } // namespace language_prefs 405 } // namespace language_prefs
405 } // namespace chromeos 406 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/language_preferences.h ('k') | chrome/browser/chromeos/login/oauth2_login_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698