diff options
author | zork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-01 07:05:43 +0000 |
---|---|---|
committer | zork@chromium.org <zork@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-01 07:05:43 +0000 |
commit | 525dbe2badd16cc7836f22a01020ba68c868b795 (patch) | |
tree | 73c72b3a3549cee9fa11bd15d5b59324269564b0 /chrome/browser/chromeos/language_preferences.h | |
parent | 3985966ad82dc8ac7094698bc1e598a6d072c93e (diff) | |
download | chromium_src-525dbe2badd16cc7836f22a01020ba68c868b795.zip chromium_src-525dbe2badd16cc7836f22a01020ba68c868b795.tar.gz chromium_src-525dbe2badd16cc7836f22a01020ba68c868b795.tar.bz2 |
Add Chewing options window
BUG=chromium-os:2624
TEST=Open the IME settings window. Add Traditional Chinese. Check that there is an options dialog next to Chewing, and click on it.
Review URL: http://codereview.chromium.org/2421001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48619 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/language_preferences.h')
-rw-r--r-- | chrome/browser/chromeos/language_preferences.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/language_preferences.h b/chrome/browser/chromeos/language_preferences.h index c4ae77b..d8f0776 100644 --- a/chrome/browser/chromeos/language_preferences.h +++ b/chrome/browser/chromeos/language_preferences.h @@ -34,6 +34,95 @@ const wchar_t kHotkeyNextEngineInMenu[] = // TODO(suzhe): Add more key bindings? const wchar_t kHotkeyPreviousEngine[] = L"Control+space"; +// For Simplified Chinese input method (ibus-chewing) +const char kChewingSectionName[] = "engine/Chewing"; + +// We have to sync the |ibus_config_name|s with those in +// ibus-chewing/files/src/Config.cc. +const struct { + const wchar_t* pref_name; // Chrome preference name. + bool default_pref_value; + const char* ibus_config_name; + int message_id; +} kChewingBooleanPrefs[] = { + { prefs::kLanguageChewingAutoShiftCur, false, "autoShiftCur", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_AUTO_SHIFT_CUR}, + { prefs::kLanguageChewingAddPhraseDirection, false, "addPhraseDirection", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ADD_PHRASE_DIRECTION}, + { prefs::kLanguageChewingEasySymbolInput, true, "easySymbolInput", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_EASY_SYMBOL_INPUT}, + { prefs::kLanguageChewingEscCleanAllBuf, false, "escCleanAllBuf", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_ESC_CLEAN_ALL_BUF}, + { prefs::kLanguageChewingForceLowercaseEnglish, false, + "forceLowercaseEnglish", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_FORCE_LOWER_CASE_ENGLISH}, + { prefs::kLanguageChewingPlainZhuyin, false, "plainZhuyin", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PLAIN_ZHUYIN}, + { prefs::kLanguageChewingPhraseChoiceRearward, true, "phraseChoiceRearward", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_PHRASE_CHOICE_REARWARD}, + { prefs::kLanguageChewingSpaceAsSelection, true, "spaceAsSelection", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTING_SPACE_AS_SELECTION}, +}; +const size_t kNumChewingBooleanPrefs = ARRAYSIZE_UNSAFE(kChewingBooleanPrefs); + +const struct ChewingMultipleChoicePreference { + const wchar_t* pref_name; // Chrome preference name. + const wchar_t* default_pref_value; + const char* ibus_config_name; + // Currently we have 10 combobox items at most. + static const size_t kMaxItems = 10; + struct { + const char* ibus_config_value; + int item_message_id; // Resource grd ID for the combobox item. + } values_and_ids[kMaxItems]; + int label_message_id; // Resource grd ID for the label. + +} kChewingMultipleChoicePrefs[] = { + { prefs::kLanguageChewingKeyboardType, + L"default", + "KBType", + {{ "default", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DEFAULT }, + { "hsu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HSU }, + { "ibm", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_IBM }, + { "gin_yieh", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_GIN_YIEH }, + { "eten", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN }, + { "eten26", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_ETEN26 }, + { "dvorak", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK }, + { "dvorak_hsu", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DVORAK_HSU }, + { "dachen_26", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_DACHEN_26 }, + { "hanyu", IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE_HANYU }}, + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_KEYBOARD_TYPE, + }, + { prefs::kLanguageChewingSelKeys, + L"1234567890", + "selKeys", + {{ "1234567890", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234567890 }, + { "asdfghjkl;", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFGHJKLS }, + { "asdfzxcv89", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFZXCV89 }, + { "asdfjkl789", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_ASDFJKL789 }, + { "aoeu;qjkix", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUSQJKIX }, + { "aoeuhtnsid", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUHTNSID }, + { "aoeuidhtns", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_AOEUIDHTNS }, + { "1234qweras", + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS_1234QWERAS }}, + IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SEL_KEYS, + }, +}; +const size_t kNumChewingMultipleChoicePrefs = + arraysize(kChewingMultipleChoicePrefs); +// TODO(zork): Support candPerPage, hsuSelKeyType, and maxChiSymbolLen + // For Korean input method (ibus-hangul) const char kHangulSectionName[] = "engine/Hangul"; const char kHangulKeyboardConfigName[] = "HangulKeyboard"; |