Commit d6d62c46 authored by komatsu@chromium.org's avatar komatsu@chromium.org

Remove IME related configuration preferences in Chrome OS.

Since the IMEs has been migrated from native application to
extensions.  There entries are no longer necessary.

BUG=256102

Review URL: https://chromiumcodereview.appspot.com/23548006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221995 0039d316-1c4b-4281-b951-d872f2087c98
parent f237e26d
...@@ -5,10 +5,6 @@ ...@@ -5,10 +5,6 @@
#ifndef CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ #ifndef CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_
#define CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ #define CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_
#include <stddef.h> // For size_t
#include "components/user_prefs/pref_registry_syncable.h"
class PrefRegistrySimple; class PrefRegistrySimple;
// TODO(yusukes): Rename this file to input_method_preference.cc. Since // TODO(yusukes): Rename this file to input_method_preference.cc. Since
...@@ -20,136 +16,12 @@ class PrefRegistrySimple; ...@@ -20,136 +16,12 @@ class PrefRegistrySimple;
namespace chromeos { namespace chromeos {
namespace language_prefs { namespace language_prefs {
// TODO(yusukes): Remove the "Language" prefix from all structs and variables.
// They're redundant (we already have the language_prefs namespace) and even
// confusing.
// The struct is used for preferences consisting of multiple choices, like
// punctuation types used in Japanese input method.
template <typename DataType>
struct LanguageMultipleChoicePreference {
const char* pref_name; // Chrome preference name.
DataType default_pref_value;
const char* ibus_config_name;
// Currently we have 10 combobox items at most.
static const size_t kMaxItems = 11;
struct {
DataType 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.
user_prefs::PrefRegistrySyncable::PrefSyncStatus sync_status;
};
// The struct is used for preferences of boolean values, like switches to
// enable or disable particular features.
struct LanguageBooleanPrefs {
const char* pref_name; // Chrome preference name.
bool default_pref_value;
const char* ibus_config_name;
int message_id;
user_prefs::PrefRegistrySyncable::PrefSyncStatus sync_status;
};
// The struct is used for preferences of integer range values, like the
// key repeat rate.
struct LanguageIntegerRangePreference {
const char* pref_name; // Chrome preference name.
int default_pref_value;
int min_pref_value;
int max_pref_value;
const char* ibus_config_name;
int message_id;
user_prefs::PrefRegistrySyncable::PrefSyncStatus sync_status;
};
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// For ibus-daemon // For input method engine management
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
extern const char kGeneralSectionName[]; extern const char kGeneralSectionName[];
extern const char kPreloadEnginesConfigName[]; extern const char kPreloadEnginesConfigName[];
// ---------------------------------------------------------------------------
// For Traditional Chinese input method (ibus-mozc-chewing)
// ---------------------------------------------------------------------------
extern const char kChewingSectionName[];
extern const LanguageBooleanPrefs kChewingBooleanPrefs[];
// This is not ideal, but we should hard-code the number here as the value
// is referenced in other header files as array sizes. We have a
// COMPILE_ASSERT in .cc to ensure that the number is correct.
const size_t kNumChewingBooleanPrefs = 8 - 2; // -2 is for crosbug.com/14185
extern const LanguageIntegerRangePreference kChewingIntegerPrefs[];
// See comments at kNumChewingBooleanPrefs for why we hard-code this here.
const size_t kNumChewingIntegerPrefs = 2;
const int kChewingMaxChiSymbolLenIndex = 0;
const int kChewingCandPerPageIndex = 1;
extern const LanguageMultipleChoicePreference<const char*>
kChewingMultipleChoicePrefs[];
// See comments at kNumChewingBooleanPrefs for why we hard-code this here.
const size_t kNumChewingMultipleChoicePrefs = 2;
extern const LanguageMultipleChoicePreference<int> kChewingHsuSelKeyType;
// ---------------------------------------------------------------------------
// For Korean input method (ibus-mozc-hangul)
// ---------------------------------------------------------------------------
extern const char kHangulSectionName[];
extern const char kHangulKeyboardConfigName[];
extern const char kHangulHanjaBindingKeysConfigName[];
extern const char kHangulHanjaBindingKeys[];
struct HangulKeyboardNameIDPair {
int message_id;
const char* keyboard_id;
};
extern const HangulKeyboardNameIDPair kHangulKeyboardNameIDPairs[];
// See comments at kNumChewingBooleanPrefs for why we hard-code this here.
const size_t kNumHangulKeyboardNameIDPairs = 5;
// ---------------------------------------------------------------------------
// For Simplified Chinese input method (ibus-mozc-pinyin)
// ---------------------------------------------------------------------------
extern const char kPinyinSectionName[];
extern const LanguageBooleanPrefs kPinyinBooleanPrefs[];
// See comments at kNumChewingBooleanPrefs for why we hard-code this here.
const size_t kNumPinyinBooleanPrefs = 11;
extern const LanguageMultipleChoicePreference<int> kPinyinDoublePinyinSchema;
struct PinyinIntegerPref {
const char* pref_name; // Chrome preference name.
int default_pref_value;
const char* ibus_config_name;
user_prefs::PrefRegistrySyncable::PrefSyncStatus sync_status;
// TODO(yusukes): Add message_id if needed.
};
extern const PinyinIntegerPref kPinyinIntegerPrefs[];
const size_t kNumPinyinIntegerPrefs = 1;
// ---------------------------------------------------------------------------
// For Japanese input method (ibus-mozc)
// ---------------------------------------------------------------------------
extern const char kMozcSectionName[];
extern const LanguageBooleanPrefs kMozcBooleanPrefs[];
// See comments at kNumChewingBooleanPrefs for why we hard-code this here.
const size_t kNumMozcBooleanPrefs = 4;
extern const LanguageMultipleChoicePreference<const char*>
kMozcMultipleChoicePrefs[];
// See comments at kNumChewingBooleanPrefs for why we hard-code this here.
const size_t kNumMozcMultipleChoicePrefs = 8;
extern const LanguageIntegerRangePreference kMozcIntegerPrefs[];
// See comments at kNumChewingBooleanPrefs for why we hard-code this here.
const size_t kNumMozcIntegerPrefs = 1;
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// For keyboard stuff // For keyboard stuff
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
...@@ -165,7 +37,7 @@ extern const char kPreferredKeyboardLayout[]; ...@@ -165,7 +37,7 @@ extern const char kPreferredKeyboardLayout[];
// Registers non-user prefs for the default keyboard layout on the login screen. // Registers non-user prefs for the default keyboard layout on the login screen.
void RegisterPrefs(PrefRegistrySimple* registry); void RegisterPrefs(PrefRegistrySimple* registry);
} // language_prefs } // namespace language_prefs
} // chromeos } // namespace chromeos
#endif // CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_ #endif // CHROME_BROWSER_CHROMEOS_LANGUAGE_PREFERENCES_H_
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chromeos/language_preferences.h"
#include <cstring>
#include <set>
#include "testing/gtest/include/gtest/gtest.h"
namespace chromeos {
namespace language_prefs {
namespace {
// Compares |a| and |b| and returns true if a is equal to b. The second one is a
// specialized function for LanguageMultipleChoicePreference<const char*>.
template <typename T>
bool Compare(T a, T b) {
return a == b;
}
template <>
bool Compare<const char*>(const char* a, const char* b) {
return !std::strcmp(a, b);
}
// Returns false if one or more prefs have a bad |default_pref_value|.
// C++ template is used here since LanguageMultipleChoicePreference is a class
// template.
template <typename T>
bool CheckDefaultValueOfMultipleChoicePrefs(
const LanguageMultipleChoicePreference<T>* prefs, size_t prefs_len) {
const size_t kMaxItems = LanguageMultipleChoicePreference<T>::kMaxItems;
for (size_t i = 0; i < prefs_len; ++i) {
bool default_value_is_valid = false;
for (size_t j = 0; j < kMaxItems; ++j) {
const LanguageMultipleChoicePreference<T>& pref = prefs[i];
if (pref.values_and_ids[j].item_message_id == 0) {
break;
}
if (Compare(pref.default_pref_value,
pref.values_and_ids[j].ibus_config_value)) {
default_value_is_valid = true;
}
}
if (!default_value_is_valid) {
return false;
}
}
return true;
}
// Returns false if |prefs| has duplicated |ibus_config_value| or
// |item_message_id|.
template <typename T>
bool CheckDuplicationOfMultipleChoicePrefs(
const LanguageMultipleChoicePreference<T>* prefs, size_t prefs_len) {
const size_t kMaxItems = LanguageMultipleChoicePreference<T>::kMaxItems;
for (size_t i = 0; i < prefs_len; ++i) {
std::set<T> ibus_config_value_set;
std::set<int> item_message_id_set;
for (size_t j = 0; j < kMaxItems; ++j) {
const LanguageMultipleChoicePreference<T>& pref = prefs[i];
if (pref.values_and_ids[j].item_message_id == 0) {
break;
}
const T ibus_config_value = pref.values_and_ids[j].ibus_config_value;
if (!ibus_config_value_set.insert(ibus_config_value).second) {
// |ibus_config_value| is already in the set.
return false;
}
const int item_message_id = pref.values_and_ids[j].item_message_id;
if (!item_message_id_set.insert(item_message_id).second) {
// |item_message_id| is already in the set.
return false;
}
}
}
return true;
}
// Returns false if one or more prefs have an out-of-range |default_pref_value|.
bool CheckDefaultValueOfIntegerRangePrefs(
const LanguageIntegerRangePreference* prefs, size_t prefs_len) {
for (size_t i = 0; i < prefs_len; ++i) {
const LanguageIntegerRangePreference& pref = prefs[i];
if (pref.default_pref_value < pref.min_pref_value) {
return false;
}
if (pref.default_pref_value > pref.max_pref_value) {
return false;
}
}
return true;
}
} // namespace
// Checks |default_pref_value| in LanguageMultipleChoicePreference prefs.
TEST(LanguagePreferencesTest, TestDefaultValuesOfMultipleChoicePrefs) {
EXPECT_TRUE(CheckDefaultValueOfMultipleChoicePrefs(
kChewingMultipleChoicePrefs, kNumChewingMultipleChoicePrefs));
EXPECT_TRUE(CheckDefaultValueOfMultipleChoicePrefs(
&kChewingHsuSelKeyType, 1));
EXPECT_TRUE(CheckDefaultValueOfMultipleChoicePrefs(
&kPinyinDoublePinyinSchema, 1));
EXPECT_TRUE(CheckDefaultValueOfMultipleChoicePrefs(
kMozcMultipleChoicePrefs, kNumMozcMultipleChoicePrefs));
}
// Checks |ibus_config_value| and |item_message_id| duplications in
// LanguageMultipleChoicePreference prefs.
TEST(LanguagePreferencesTest, TestDuplicationOfMultipleChoicePrefs) {
EXPECT_TRUE(CheckDuplicationOfMultipleChoicePrefs(
kChewingMultipleChoicePrefs, kNumChewingMultipleChoicePrefs));
EXPECT_TRUE(CheckDuplicationOfMultipleChoicePrefs(
&kChewingHsuSelKeyType, 1));
EXPECT_TRUE(CheckDuplicationOfMultipleChoicePrefs(
&kPinyinDoublePinyinSchema, 1));
EXPECT_TRUE(CheckDuplicationOfMultipleChoicePrefs(
kMozcMultipleChoicePrefs, kNumMozcMultipleChoicePrefs));
}
// Checks |default_pref_value| in LanguageIntegerRangePreference prefs.
TEST(LanguagePreferencesTest, TestDefaultValuesOfIntegerRangePrefs) {
EXPECT_TRUE(CheckDefaultValueOfIntegerRangePrefs(
kChewingIntegerPrefs, kNumChewingIntegerPrefs));
EXPECT_TRUE(CheckDefaultValueOfIntegerRangePrefs(
kMozcIntegerPrefs, kNumMozcIntegerPrefs));
}
} // namespace language_prefs
} // namespace chromeos
...@@ -211,73 +211,7 @@ void Preferences::RegisterProfilePrefs( ...@@ -211,73 +211,7 @@ void Preferences::RegisterProfilePrefs(
prefs::kLanguageEnabledExtensionImes, prefs::kLanguageEnabledExtensionImes,
"", "",
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
registry->RegisterBooleanPref(
language_prefs::kChewingBooleanPrefs[i].pref_name,
language_prefs::kChewingBooleanPrefs[i].default_pref_value,
language_prefs::kChewingBooleanPrefs[i].sync_status);
}
for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
registry->RegisterStringPref(
language_prefs::kChewingMultipleChoicePrefs[i].pref_name,
language_prefs::kChewingMultipleChoicePrefs[i].default_pref_value,
language_prefs::kChewingMultipleChoicePrefs[i].sync_status);
}
registry->RegisterIntegerPref(
language_prefs::kChewingHsuSelKeyType.pref_name,
language_prefs::kChewingHsuSelKeyType.default_pref_value,
language_prefs::kChewingHsuSelKeyType.sync_status);
for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) {
registry->RegisterIntegerPref(
language_prefs::kChewingIntegerPrefs[i].pref_name,
language_prefs::kChewingIntegerPrefs[i].default_pref_value,
language_prefs::kChewingIntegerPrefs[i].sync_status);
}
registry->RegisterStringPref(
prefs::kLanguageHangulKeyboard,
language_prefs::kHangulKeyboardNameIDPairs[0].keyboard_id,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
registry->RegisterStringPref(
prefs::kLanguageHangulHanjaBindingKeys,
language_prefs::kHangulHanjaBindingKeys,
// Don't sync the pref as it's not user-configurable
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
for (size_t i = 0; i < language_prefs::kNumPinyinBooleanPrefs; ++i) {
registry->RegisterBooleanPref(
language_prefs::kPinyinBooleanPrefs[i].pref_name,
language_prefs::kPinyinBooleanPrefs[i].default_pref_value,
language_prefs::kPinyinBooleanPrefs[i].sync_status);
}
for (size_t i = 0; i < language_prefs::kNumPinyinIntegerPrefs; ++i) {
registry->RegisterIntegerPref(
language_prefs::kPinyinIntegerPrefs[i].pref_name,
language_prefs::kPinyinIntegerPrefs[i].default_pref_value,
language_prefs::kPinyinIntegerPrefs[i].sync_status);
}
registry->RegisterIntegerPref(
language_prefs::kPinyinDoublePinyinSchema.pref_name,
language_prefs::kPinyinDoublePinyinSchema.default_pref_value,
user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
for (size_t i = 0; i < language_prefs::kNumMozcBooleanPrefs; ++i) {
registry->RegisterBooleanPref(
language_prefs::kMozcBooleanPrefs[i].pref_name,
language_prefs::kMozcBooleanPrefs[i].default_pref_value,
language_prefs::kMozcBooleanPrefs[i].sync_status);
}
for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) {
registry->RegisterStringPref(
language_prefs::kMozcMultipleChoicePrefs[i].pref_name,
language_prefs::kMozcMultipleChoicePrefs[i].default_pref_value,
language_prefs::kMozcMultipleChoicePrefs[i].sync_status);
}
for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) {
registry->RegisterIntegerPref(
language_prefs::kMozcIntegerPrefs[i].pref_name,
language_prefs::kMozcIntegerPrefs[i].default_pref_value,
language_prefs::kMozcIntegerPrefs[i].sync_status);
}
registry->RegisterIntegerPref( registry->RegisterIntegerPref(
prefs::kLanguageRemapSearchKeyTo, prefs::kLanguageRemapSearchKeyTo,
input_method::kSearchKey, input_method::kSearchKey,
...@@ -407,46 +341,6 @@ void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) { ...@@ -407,46 +341,6 @@ void Preferences::InitUserPrefs(PrefServiceSyncable* prefs) {
previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, previous_input_method_.Init(prefs::kLanguagePreviousInputMethod,
prefs, callback); prefs, callback);
for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
chewing_boolean_prefs_[i].Init(
language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, callback);
}
for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
chewing_multiple_choice_prefs_[i].Init(
language_prefs::kChewingMultipleChoicePrefs[i].pref_name,
prefs, callback);
}
chewing_hsu_sel_key_type_.Init(
language_prefs::kChewingHsuSelKeyType.pref_name, prefs, callback);
for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) {
chewing_integer_prefs_[i].Init(
language_prefs::kChewingIntegerPrefs[i].pref_name, prefs, callback);
}
hangul_keyboard_.Init(prefs::kLanguageHangulKeyboard, prefs, callback);
hangul_hanja_binding_keys_.Init(
prefs::kLanguageHangulHanjaBindingKeys, prefs, callback);
for (size_t i = 0; i < language_prefs::kNumPinyinBooleanPrefs; ++i) {
pinyin_boolean_prefs_[i].Init(
language_prefs::kPinyinBooleanPrefs[i].pref_name, prefs, callback);
}
for (size_t i = 0; i < language_prefs::kNumPinyinIntegerPrefs; ++i) {
pinyin_int_prefs_[i].Init(
language_prefs::kPinyinIntegerPrefs[i].pref_name, prefs, callback);
}
pinyin_double_pinyin_schema_.Init(
language_prefs::kPinyinDoublePinyinSchema.pref_name, prefs, callback);
for (size_t i = 0; i < language_prefs::kNumMozcBooleanPrefs; ++i) {
mozc_boolean_prefs_[i].Init(
language_prefs::kMozcBooleanPrefs[i].pref_name, prefs, callback);
}
for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) {
mozc_multiple_choice_prefs_[i].Init(
language_prefs::kMozcMultipleChoicePrefs[i].pref_name, prefs, callback);
}
for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) {
mozc_integer_prefs_[i].Init(
language_prefs::kMozcIntegerPrefs[i].pref_name, prefs, callback);
}
xkb_auto_repeat_enabled_.Init( xkb_auto_repeat_enabled_.Init(
prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback); prefs::kLanguageXkbAutoRepeatEnabled, prefs, callback);
xkb_auto_repeat_delay_pref_.Init( xkb_auto_repeat_delay_pref_.Init(
......
...@@ -124,27 +124,6 @@ class Preferences : public PrefServiceSyncableObserver, ...@@ -124,27 +124,6 @@ class Preferences : public PrefServiceSyncableObserver,
StringPrefMember previous_input_method_; StringPrefMember previous_input_method_;
StringPrefMember enabled_extension_imes_; StringPrefMember enabled_extension_imes_;
BooleanPrefMember chewing_boolean_prefs_[
language_prefs::kNumChewingBooleanPrefs];
StringPrefMember chewing_multiple_choice_prefs_[
language_prefs::kNumChewingMultipleChoicePrefs];
IntegerPrefMember chewing_hsu_sel_key_type_;
IntegerPrefMember chewing_integer_prefs_[
language_prefs::kNumChewingIntegerPrefs];
StringPrefMember hangul_keyboard_;
StringPrefMember hangul_hanja_binding_keys_;
StringPrefMember hangul_hanja_keys_;
BooleanPrefMember pinyin_boolean_prefs_[
language_prefs::kNumPinyinBooleanPrefs];
IntegerPrefMember pinyin_int_prefs_[
language_prefs::kNumPinyinIntegerPrefs];
IntegerPrefMember pinyin_double_pinyin_schema_;
BooleanPrefMember mozc_boolean_prefs_[
language_prefs::kNumMozcBooleanPrefs];
StringPrefMember mozc_multiple_choice_prefs_[
language_prefs::kNumMozcMultipleChoicePrefs];
IntegerPrefMember mozc_integer_prefs_[
language_prefs::kNumMozcIntegerPrefs];
BooleanPrefMember xkb_auto_repeat_enabled_; BooleanPrefMember xkb_auto_repeat_enabled_;
IntegerPrefMember xkb_auto_repeat_delay_pref_; IntegerPrefMember xkb_auto_repeat_delay_pref_;
IntegerPrefMember xkb_auto_repeat_interval_pref_; IntegerPrefMember xkb_auto_repeat_interval_pref_;
......
<div id="languageChewingPage" class="page" hidden>
<div class="close-button"></div>
<h1 i18n-content="languageChewingPage"></h1>
<div class="content-area">
<table class="option-control-table">
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="chewing-auto-shift-cur" type="checkbox"
pref="settings.language.chewing_auto_shift_cur">
<span i18n-content="Chewing_autoShiftCur"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="chewing-add-phrase-direction" type="checkbox"
pref="settings.language.chewing_add_phrase_direction">
<span i18n-content="Chewing_addPhraseDirection"></span>
</label>
</div>
</td>
</tr>
<!-- Temporarily disabled. (crosbug.com/14185)
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="chewing-easy-symbol-input" type="checkbox"
pref="settings.language.chewing_easy_symbol_input">
<span i18n-content="Chewing_easySymbolInput"></span>
</label>
</div>
</td>
</tr>
-->
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="chewing-esc-clean-all-buf" type="checkbox"
pref="settings.language.chewing_esc_clean_all_buf">
<span i18n-content="Chewing_escCleanAllBuf"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="chewing-force-lowercase-english" type="checkbox"
pref="settings.language.chewing_force_lowercase_english">
<span i18n-content="Chewing_forceLowercaseEnglish"></span>
</label>
</div>
</td>
</tr>
<!-- Temporarily disabled. (crosbug.com/14185)
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="chewing-plain-zhuyin" type="checkbox"
pref="settings.language.chewing_plain_zhuyin">
<span i18n-content="Chewing_plainZhuyin"></span>
</label>
</div>
</td>
</tr>
-->
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="chewing-phrase-choice-rearward" type="checkbox"
pref="settings.language.chewing_phrase_choice_rearward">
<span i18n-content="Chewing_phraseChoiceRearward"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="chewing-space-as-selection" type="checkbox"
pref="settings.language.chewing_space_as_selection">
<span i18n-content="Chewing_spaceAsSelection"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="Chewing_maxChiSymbolLen"></td>
<td class="option-value">
<input id="chewing-max-chi-symbol-len" class="control" type="range"
pref="settings.language.chewing_max_chi_symbol_len"
i18n-values="min:Chewing_maxChiSymbolLenMin;
max:Chewing_maxChiSymbolLenMax">
<span id="chewing-max-chi-symbol-len-value"></span>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="Chewing_candPerPage"></td>
<td class="option-value">
<select id="chewing-cand-per-page" class="control" data-type="number"
pref="settings.language.chewing_cand_per_page"
i18n-options="Chewing_candPerPageValue"></select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="Chewing_KBType"></td>
<td class="option-value">
<select id="chewing-keyboard-type" class="control" data-type="string"
pref="settings.language.chewing_keyboard_type"
i18n-options="Chewing_KBTypeValue"></select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="Chewing_selKeys"></td>
<td class="option-value">
<select id="chewing-sel-keys" class="control" data-type="string"
pref="settings.language.chewing_sel_keys"
i18n-options="Chewing_selKeysValue"></select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="Chewing_hsuSelKeyType"></td>
<td class="option-value">
<select id="chewing-sel-key-type" class="control" data-type="number"
pref="settings.language.chewing_hsu_sel_key_type"
i18n-options="Chewing_hsuSelKeyTypeValue"></select>
</td>
</tr>
</table>
</div>
<div class="action-area">
<div class="button-strip">
<button id="chewing-confirm" i18n-content="done"></button>
</div>
</div>
</div>
<div id="languageHangulPage" class="page" hidden>
<div class="close-button"></div>
<h1 i18n-content="languageHangulPage"></h1>
<div class="content-area">
<div class="option">
<table class="option-control-table">
<tr>
<td class="option-name" i18n-content="hangulKeyboardLayout"></td>
<td class="option-value">
<select id="keyboard-layout-select" class="control"
data-type="string"
pref="settings.language.hangul_keyboard"
i18n-options="HangulkeyboardLayoutList"></select>
</td>
</tr>
</table>
</div>
</div>
<div class="action-area">
<div class="button-strip">
<button id="hangul-confirm" i18n-content="done"></button>
</div>
</div>
</div>
<div id="languageMozcPage" class="page" hidden>
<div class="close-button"></div>
<h1 i18n-content="languageMozcPage"></h1>
<div class="content-area">
<table class="option-control-table">
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="mozc-incognito-mode"
pref="settings.language.mozc_incognito_mode"
type="checkbox">
<span i18n-content="mozc_incognito_mode"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="mozc-use-auto-ime-turn-off"
pref="settings.language.mozc_use_auto_ime_turn_off"
type="checkbox">
<span i18n-content="mozc_use_auto_ime_turn_off"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="mozc-use-history-suggest" type="checkbox"
pref="settings.language.mozc_use_history_suggest">
<span i18n-content="mozc_use_history_suggest"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="mozc-use-dictionary-suggest" type="checkbox"
pref="settings.language.mozc_use_dictionary_suggest">
<span i18n-content="mozc_use_dictionary_suggest"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_preedit_method"></td>
<td class="option-value">
<select id="mozc-preedit-method" class="control" data-type="string"
pref="settings.language.mozc_preedit_method"
i18n-options="mozc_preedit_methodValue"></select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_session_keymap"></td>
<td class="option-value">
<select id="mozc-session-keymap" class="control" data-type="string"
pref="settings.language.mozc_session_keymap"
i18n-options="mozc_session_keymapValue"></select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_punctuation_method"></td>
<td class="option-value">
<select id="mozc-punctuation-method" class="control"
pref="settings.language.mozc_punctuation_method"
data-type="string" i18n-options="mozc_punctuation_methodValue">
</select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_symbol_method"></td>
<td class="option-value">
<select id="mozc-symbol-method" class="control" data-type="string"
pref="settings.language.mozc_symbol_method"
i18n-options="mozc_symbol_methodValue"></select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_space_character_form">
</td>
<td class="option-value">
<select id="mozc-space-character-form" class="control"
pref="settings.language.mozc_space_character_form"
data-type="string" i18n-options="mozc_space_character_formValue">
</select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_history_learning_level">
</td>
<td class="option-value">
<select id="mozc-history-learning-level" class="control"
pref="settings.language.mozc_history_learning_level"
data-type="string"
i18n-options="mozc_history_learning_levelValue"></select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_shift_key_mode_switch">
</td>
<td class="option-value">
<select id="mozc-shift-key-mode-switch" class="control"
pref="settings.language.mozc_shift_key_mode_switch"
data-type="string" i18n-options="mozc_shift_key_mode_switchValue">
</select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_numpad_character_form">
</td>
<td class="option-value">
<select id="mozc-numpad-character-form" class="control"
pref="settings.language.mozc_numpad_character_form"
data-type="string" i18n-options="mozc_numpad_character_formValue">
</select>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="mozc_suggestions_size">
</td>
<td class="option-value">
<select id="mozc-suggestions-size" class="control" data-type="number"
pref="settings.language.mozc_suggestions_size"
i18n-options="mozc_suggestions_sizeValue"></select>
</td>
</tr>
</table>
</div>
<div class="action-area">
<div class="button-strip">
<button id="mozc-confirm" i18n-content="done"></button>
</div>
</div>
</div>
<div id="languagePinyinPage" class="page" hidden>
<div class="close-button"></div>
<h1 i18n-content="languagePinyinPage"></h1>
<div class="content-area">
<table class="option-control-table">
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-correct-pinyin"
pref="settings.language.pinyin_correct_pinyin"
type="checkbox">
<span i18n-content="PinyinCorrectPinyin"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-fuzzy-pinyin"
pref="settings.language.pinyin_fuzzy_pinyin"
type="checkbox">
<span i18n-content="PinyinFuzzyPinyin"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-shift-select-candidate"
pref="settings.language.pinyin_shift_select_candidate"
type="checkbox">
<span i18n-content="PinyinShiftSelectCandidate"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-minus-equal-page"
pref="settings.language.pinyin_minus_equal_page"
type="checkbox">
<span i18n-content="PinyinMinusEqualPage"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-comma-period-page"
pref="settings.language.pinyin_comma_period_page"
type="checkbox">
<span i18n-content="PinyinCommaPeriodPage"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-auto-commit"
pref="settings.language.pinyin_auto_commit"
type="checkbox">
<span i18n-content="PinyinAutoCommit"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-double-pinyin"
pref="settings.language.pinyin_double_pinyin"
type="checkbox">
<span i18n-content="PinyinDoublePinyin"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-init-chinese"
pref="settings.language.pinyin_init_chinese"
type="checkbox">
<span i18n-content="PinyinInitChinese"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-init-full"
pref="settings.language.pinyin_init_full"
type="checkbox">
<span i18n-content="PinyinInitFull"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-init-full-punct"
pref="settings.language.pinyin_init_full_punct"
type="checkbox">
<span i18n-content="PinyinInitFullPunct"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" colspan="2">
<div class="checkbox">
<label>
<input id="pinyin-init-simplified-chinese"
pref="settings.language.pinyin_init_simplified_chinese"
type="checkbox">
<span i18n-content="PinyinInitSimplifiedChinese"></span>
</label>
</div>
</td>
</tr>
<tr>
<td class="option-name" i18n-content="PinyinDoublePinyinSchema"></td>
<td class="option-value">
<select id="pinyin-double-pinyin-schema" class="control"
pref="settings.language.pinyin_double_pinyin_schema"
data-type="string"
i18n-options="PinyinDoublePinyinSchemaValue"></select>
</td>
</tr>
</table>
</div>
<div class="action-area">
<div class="button-strip">
<button id="pinyin-confirm" i18n-content="done"></button>
</div>
</div>
</div>
...@@ -9,18 +9,6 @@ cr.define('options', function() { ...@@ -9,18 +9,6 @@ cr.define('options', function() {
/** @const */ var OptionsPage = options.OptionsPage; /** @const */ var OptionsPage = options.OptionsPage;
/** @const */ var LanguageList = options.LanguageList; /** @const */ var LanguageList = options.LanguageList;
// Some input methods like Chinese Pinyin have config pages.
// This is the map of the input method names to their config page names.
/** @const */ var INPUT_METHOD_ID_TO_CONFIG_PAGE_NAME = {
'mozc': 'languageMozc',
'mozc-chewing': 'languageChewing',
'mozc-dv': 'languageMozc',
'mozc-hangul': 'languageHangul',
'mozc-jp': 'languageMozc',
'pinyin': 'languagePinyin',
'pinyin-dv': 'languagePinyin',
};
/** /**
* Spell check dictionary download status. * Spell check dictionary download status.
* @type {Enum} * @type {Enum}
...@@ -173,10 +161,6 @@ cr.define('options', function() { ...@@ -173,10 +161,6 @@ cr.define('options', function() {
this.handleVisibleChange_.bind(this)); this.handleVisibleChange_.bind(this));
if (cr.isChromeOS) { if (cr.isChromeOS) {
$('chewing-confirm').onclick = $('hangul-confirm').onclick =
$('mozc-confirm').onclick = $('pinyin-confirm').onclick =
OptionsPage.closeOverlay.bind(OptionsPage);
this.initializeInputMethodList_(); this.initializeInputMethodList_();
this.initializeLanguageCodeToInputMethodIdsMap_(); this.initializeLanguageCodeToInputMethodIdsMap_();
} }
...@@ -321,15 +305,6 @@ cr.define('options', function() { ...@@ -321,15 +305,6 @@ cr.define('options', function() {
var span = element.querySelector('span'); var span = element.querySelector('span');
span.textContent = inputMethod.displayName; span.textContent = inputMethod.displayName;
// Add the configure button if the config page is present for this
// input method.
if (inputMethod.id in INPUT_METHOD_ID_TO_CONFIG_PAGE_NAME) {
var pageName = INPUT_METHOD_ID_TO_CONFIG_PAGE_NAME[inputMethod.id];
var button = this.createConfigureInputMethodButton_(inputMethod.id,
pageName);
element.appendChild(button);
}
if (inputMethod.optionsPage) { if (inputMethod.optionsPage) {
var button = document.createElement('button'); var button = document.createElement('button');
button.textContent = loadTimeData.getString('configure'); button.textContent = loadTimeData.getString('configure');
...@@ -347,26 +322,6 @@ cr.define('options', function() { ...@@ -347,26 +322,6 @@ cr.define('options', function() {
} }
}, },
/**
* Creates a configure button for the given input method ID.
* @param {string} inputMethodId Input method ID (ex. "pinyin").
* @param {string} pageName Name of the config page (ex. "languagePinyin").
* @private
*/
createConfigureInputMethodButton_: function(inputMethodId, pageName) {
var button = document.createElement('button');
button.textContent = loadTimeData.getString('configure');
button.onclick = function(e) {
// Prevent the default action (i.e. changing the checked property
// of the checkbox). The button click here should not be handled
// as checkbox click.
e.preventDefault();
chrome.send('inputMethodOptionsOpen', [inputMethodId]);
OptionsPage.navigateToPage(pageName);
};
return button;
},
/** /**
* Adds a language to the preference 'translate_blocked_languages'. If * Adds a language to the preference 'translate_blocked_languages'. If
* |langCode| is already added, nothing happens. |langCode| is converted * |langCode| is already added, nothing happens. |langCode| is converted
......
...@@ -146,10 +146,6 @@ ...@@ -146,10 +146,6 @@
<include src="chromeos/display_overscan.html"> <include src="chromeos/display_overscan.html">
<include src="chromeos/internet_detail.html"> <include src="chromeos/internet_detail.html">
<include src="chromeos/preferred_networks.html"> <include src="chromeos/preferred_networks.html">
<include src="chromeos/language_chewing_options.html">
<include src="chromeos/language_hangul_options.html">
<include src="chromeos/language_mozc_options.html">
<include src="chromeos/language_pinyin_options.html">
</if> </if>
<if expr="not is_win and not is_macosx"> <if expr="not is_win and not is_macosx">
<include src="certificate_restore_overlay.html"> <include src="certificate_restore_overlay.html">
......
...@@ -196,26 +196,6 @@ function load() { ...@@ -196,26 +196,6 @@ function load() {
[$('pointer-settings-button')]); [$('pointer-settings-button')]);
OptionsPage.registerOverlay(PreferredNetworks.getInstance(), OptionsPage.registerOverlay(PreferredNetworks.getInstance(),
BrowserOptions.getInstance()); BrowserOptions.getInstance());
OptionsPage.registerOverlay(
new OptionsPage('languageChewing',
loadTimeData.getString('languageChewingPageTabTitle'),
'languageChewingPage'),
LanguageOptions.getInstance());
OptionsPage.registerOverlay(
new OptionsPage('languageHangul',
loadTimeData.getString('languageHangulPageTabTitle'),
'languageHangulPage'),
LanguageOptions.getInstance());
OptionsPage.registerOverlay(
new OptionsPage('languageMozc',
loadTimeData.getString('languageMozcPageTabTitle'),
'languageMozcPage'),
LanguageOptions.getInstance());
OptionsPage.registerOverlay(
new OptionsPage('languagePinyin',
loadTimeData.getString('languagePinyinPageTabTitle'),
'languagePinyinPage'),
LanguageOptions.getInstance());
} }
if (!cr.isWindows && !cr.isMac) { if (!cr.isWindows && !cr.isMac) {
......
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/webui/options/chromeos/language_chewing_handler.h"
#include <limits>
#include "base/logging.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/chromeos/language_preferences.h"
#include "chrome/browser/ui/webui/options/chromeos/language_options_util.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
namespace {
const char kI18nPrefix[] = "Chewing_";
} // namespace
namespace chromeos {
namespace options {
LanguageChewingHandler::LanguageChewingHandler() {
}
LanguageChewingHandler::~LanguageChewingHandler() {
}
void LanguageChewingHandler::GetLocalizedValues(
DictionaryValue* localized_strings) {
DCHECK(localized_strings);
RegisterTitle(localized_strings, "languageChewingPage",
IDS_OPTIONS_SETTINGS_LANGUAGES_CHEWING_SETTINGS_TITLE);
for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
localized_strings->SetString(
GetI18nContentValue(language_prefs::kChewingBooleanPrefs[i],
kI18nPrefix),
l10n_util::GetStringUTF16(
language_prefs::kChewingBooleanPrefs[i].message_id));
}
// For maximum Chinese characters in pre-edit buffer, we use slider UI.
{
const language_prefs::LanguageIntegerRangePreference& preference =
language_prefs::kChewingIntegerPrefs[
language_prefs::kChewingMaxChiSymbolLenIndex];
localized_strings->SetString(
GetI18nContentValue(preference, kI18nPrefix),
l10n_util::GetStringUTF16(preference.message_id));
localized_strings->SetString(
GetTemplateDataMinName(preference, kI18nPrefix),
base::IntToString(preference.min_pref_value));
localized_strings->SetString(
GetTemplateDataMaxName(preference, kI18nPrefix),
base::IntToString(preference.max_pref_value));
}
// For number of candidates per page, we use select-option UI.
{
const language_prefs::LanguageIntegerRangePreference& preference =
language_prefs::kChewingIntegerPrefs[
language_prefs::kChewingCandPerPageIndex];
localized_strings->SetString(
GetI18nContentValue(preference, kI18nPrefix),
l10n_util::GetStringUTF16(preference.message_id));
ListValue* list_value = new ListValue();
for (int i = preference.min_pref_value; i <= preference.max_pref_value;
++i) {
ListValue* option = new ListValue();
option->Append(CreateValue(i));
option->Append(CreateValue(i));
list_value->Append(option);
}
localized_strings->Set(GetTemplateDataPropertyName(preference, kI18nPrefix),
list_value);
}
for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs;
++i) {
const language_prefs::LanguageMultipleChoicePreference<const char*>&
preference = language_prefs::kChewingMultipleChoicePrefs[i];
localized_strings->SetString(
GetI18nContentValue(preference, kI18nPrefix),
l10n_util::GetStringUTF16(preference.label_message_id));
localized_strings->Set(
GetTemplateDataPropertyName(preference, kI18nPrefix),
CreateMultipleChoiceList(preference));
}
localized_strings->SetString(
GetI18nContentValue(language_prefs::kChewingHsuSelKeyType, kI18nPrefix),
l10n_util::GetStringUTF16(
language_prefs::kChewingHsuSelKeyType.label_message_id));
localized_strings->Set(
GetTemplateDataPropertyName(language_prefs::kChewingHsuSelKeyType,
kI18nPrefix),
CreateMultipleChoiceList(language_prefs::kChewingHsuSelKeyType));
}
} // namespace options
} // namespace chromeos
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_CHEWING_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_CHEWING_HANDLER_H_
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "chrome/browser/ui/webui/options/options_ui.h"
namespace base {
class DictionaryValue;
}
namespace chromeos {
namespace options {
// Chewing options page UI handler.
class LanguageChewingHandler : public ::options::OptionsPageUIHandler {
public:
LanguageChewingHandler();
virtual ~LanguageChewingHandler();
// OptionsPageUIHandler implementation.
virtual void GetLocalizedValues(
base::DictionaryValue* localized_strings) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(LanguageChewingHandler);
};
} // namespace options
} // namespace chromeos
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_CHEWING_HANDLER_H_
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/webui/options/chromeos/language_hangul_handler.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/chromeos/language_preferences.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
namespace chromeos {
namespace options {
LanguageHangulHandler::LanguageHangulHandler() {
}
LanguageHangulHandler::~LanguageHangulHandler() {
}
void LanguageHangulHandler::GetLocalizedValues(
DictionaryValue* localized_strings) {
DCHECK(localized_strings);
RegisterTitle(localized_strings, "languageHangulPage",
IDS_OPTIONS_SETTINGS_LANGUAGES_HANGUL_SETTINGS_TITLE);
localized_strings->SetString("hangulKeyboardLayout",
l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_KEYBOARD_LAYOUT_TEXT));
localized_strings->Set("HangulkeyboardLayoutList", GetKeyboardLayoutList());
}
ListValue* LanguageHangulHandler::GetKeyboardLayoutList() {
ListValue* keyboard_layout_list = new ListValue();
for (size_t i = 0; i < language_prefs::kNumHangulKeyboardNameIDPairs; ++i) {
ListValue* option = new ListValue();
option->Append(new base::StringValue(
language_prefs::kHangulKeyboardNameIDPairs[i].keyboard_id));
option->Append(new base::StringValue(l10n_util::GetStringUTF16(
language_prefs::kHangulKeyboardNameIDPairs[i].message_id)));
keyboard_layout_list->Append(option);
}
return keyboard_layout_list;
}
} // namespace options
} // namespace chromeos
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_HANGUL_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_HANGUL_HANDLER_H_
#include "base/compiler_specific.h"
#include "chrome/browser/ui/webui/options/options_ui.h"
namespace base {
class DictionaryValue;
class ListValue;
}
namespace chromeos {
namespace options {
// Hangul options page UI handler.
class LanguageHangulHandler : public ::options::OptionsPageUIHandler {
public:
LanguageHangulHandler();
virtual ~LanguageHangulHandler();
// OptionsPageUIHandler implementation.
virtual void GetLocalizedValues(
base::DictionaryValue* localized_strings) OVERRIDE;
private:
// Returns the list of hangul keyboards.
static base::ListValue* GetKeyboardLayoutList();
DISALLOW_COPY_AND_ASSIGN(LanguageHangulHandler);
};
} // namespace options
} // namespace chromeos
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_HANGUL_HANDLER_H_
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/webui/options/chromeos/language_mozc_handler.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/chromeos/language_preferences.h"
#include "chrome/browser/ui/webui/options/chromeos/language_options_util.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
namespace {
const char kI18nPrefix[] = "mozc_";
} // namespace
namespace chromeos {
namespace options {
LanguageMozcHandler::LanguageMozcHandler() {
}
LanguageMozcHandler::~LanguageMozcHandler() {
}
void LanguageMozcHandler::GetLocalizedValues(
DictionaryValue* localized_strings) {
DCHECK(localized_strings);
RegisterTitle(localized_strings, "languageMozcPage",
IDS_OPTIONS_SETTINGS_LANGUAGES_MOZC_SETTINGS_TITLE);
for (size_t i = 0; i < language_prefs::kNumMozcBooleanPrefs; ++i) {
localized_strings->SetString(
GetI18nContentValue(language_prefs::kMozcBooleanPrefs[i], kI18nPrefix),
l10n_util::GetStringUTF16(
language_prefs::kMozcBooleanPrefs[i].message_id));
}
for (size_t i = 0; i < language_prefs::kNumMozcMultipleChoicePrefs; ++i) {
const language_prefs::LanguageMultipleChoicePreference<const char*>&
preference = language_prefs::kMozcMultipleChoicePrefs[i];
localized_strings->SetString(
GetI18nContentValue(preference, kI18nPrefix),
l10n_util::GetStringUTF16(preference.label_message_id));
localized_strings->Set(GetTemplateDataPropertyName(preference, kI18nPrefix),
CreateMultipleChoiceList(preference));
}
for (size_t i = 0; i < language_prefs::kNumMozcIntegerPrefs; ++i) {
const language_prefs::LanguageIntegerRangePreference& preference =
language_prefs::kMozcIntegerPrefs[i];
localized_strings->SetString(
GetI18nContentValue(preference, kI18nPrefix),
l10n_util::GetStringUTF16(preference.message_id));
ListValue* list_value = new ListValue();
for (int j = preference.min_pref_value; j <= preference.max_pref_value;
++j) {
ListValue* option = new ListValue();
option->Append(CreateValue(j));
option->Append(CreateValue(j));
list_value->Append(option);
}
localized_strings->Set(GetTemplateDataPropertyName(preference, kI18nPrefix),
list_value);
}
}
} // namespace options
} // namespace chromeos
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_MOZC_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_MOZC_HANDLER_H_
#include "base/compiler_specific.h"
#include "chrome/browser/ui/webui/options/options_ui.h"
namespace base {
class DictionaryValue;
}
namespace chromeos {
namespace options {
// Mozc options page UI handler.
class LanguageMozcHandler : public ::options::OptionsPageUIHandler {
public:
LanguageMozcHandler();
virtual ~LanguageMozcHandler();
// OptionsPageUIHandler implementation.
virtual void GetLocalizedValues(
base::DictionaryValue* localized_strings) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(LanguageMozcHandler);
};
} // namespace options
} // namespace chromeos
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_MOZC_HANDLER_H_
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/webui/options/chromeos/language_options_util.h"
namespace chromeos {
namespace options {
// See comments in .h.
base::Value* CreateValue(const char* in_value) {
return new base::StringValue(in_value);
}
base::Value* CreateValue(int in_value) {
return new base::FundamentalValue(in_value);
}
} // namespace options
} // namespace chromeos
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_OPTIONS_UTIL_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_OPTIONS_UTIL_H_
#include <string>
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/chromeos/language_preferences.h"
#include "ui/base/l10n/l10n_util.h"
namespace base {
class ListValue;
}
namespace chromeos {
namespace options {
// Returns an i18n-content value corresponding to |preference|.
template <typename T>
std::string GetI18nContentValue(const T& preference, const char* prefix) {
return std::string(prefix) + preference.ibus_config_name;
}
// Returns a property name of templateData corresponding to |preference|.
template <typename T>
std::string GetTemplateDataPropertyName(const T& preference,
const char* prefix) {
return std::string(prefix) + preference.ibus_config_name + "Value";
}
// Returns an property name of templateData corresponding the value of the min
// attribute.
template <typename T>
std::string GetTemplateDataMinName(const T& preference, const char* prefix) {
return std::string(prefix) + preference.ibus_config_name + "Min";
}
// Returns an property name of templateData corresponding the value of the max
// attribute.
template <typename T>
std::string GetTemplateDataMaxName(const T& preference, const char* prefix) {
return std::string(prefix) + preference.ibus_config_name + "Max";
}
// Creates a Value object from the given value. Here we use function
// overloading to handle string and integer preferences in
// CreateMultipleChoiceList.
base::Value* CreateValue(const char* in_value);
base::Value* CreateValue(int in_value);
// Creates a multiple choice list from the given preference.
template <typename T>
base::ListValue* CreateMultipleChoiceList(
const language_prefs::LanguageMultipleChoicePreference<T>& preference) {
int list_length = 0;
for (size_t i = 0;
i < language_prefs::LanguageMultipleChoicePreference<T>::kMaxItems;
++i) {
if (preference.values_and_ids[i].item_message_id == 0)
break;
++list_length;
}
DCHECK_GT(list_length, 0);
base::ListValue* list_value = new base::ListValue();
for (int i = 0; i < list_length; ++i) {
base::ListValue* option = new base::ListValue();
option->Append(CreateValue(
preference.values_and_ids[i].ibus_config_value));
option->Append(new base::StringValue(l10n_util::GetStringUTF16(
preference.values_and_ids[i].item_message_id)));
list_value->Append(option);
}
return list_value;
}
} // namespace options
} // namespace chromeos
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_OPTIONS_UTIL_H_
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/webui/options/chromeos/language_pinyin_handler.h"
#include "base/values.h"
#include "chrome/browser/chromeos/language_preferences.h"
#include "chrome/browser/ui/webui/options/chromeos/language_options_util.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
namespace {
const char kI18nPrefix[] = "Pinyin";
} // namespace
namespace chromeos {
namespace options {
LanguagePinyinHandler::LanguagePinyinHandler() {
}
LanguagePinyinHandler::~LanguagePinyinHandler() {
}
void LanguagePinyinHandler::GetLocalizedValues(
DictionaryValue* localized_strings) {
DCHECK(localized_strings);
RegisterTitle(localized_strings, "languagePinyinPage",
IDS_OPTIONS_SETTINGS_LANGUAGES_PINYIN_SETTINGS_TITLE);
for (size_t i = 0; i < language_prefs::kNumPinyinBooleanPrefs; ++i) {
localized_strings->SetString(
GetI18nContentValue(language_prefs::kPinyinBooleanPrefs[i],
kI18nPrefix),
l10n_util::GetStringUTF16(
language_prefs::kPinyinBooleanPrefs[i].message_id));
}
localized_strings->SetString(
GetI18nContentValue(language_prefs::kPinyinDoublePinyinSchema,
kI18nPrefix),
l10n_util::GetStringUTF16(
language_prefs::kPinyinDoublePinyinSchema.label_message_id));
ListValue* list_value = new ListValue();
for (size_t i = 0;
i < language_prefs::LanguageMultipleChoicePreference<int>::kMaxItems;
++i) {
if (language_prefs::kPinyinDoublePinyinSchema.values_and_ids[i].
item_message_id == 0)
break;
ListValue* option = new ListValue();
option->Append(new base::FundamentalValue(
language_prefs::kPinyinDoublePinyinSchema.values_and_ids[i].
ibus_config_value));
option->Append(new base::StringValue(l10n_util::GetStringUTF16(
language_prefs::kPinyinDoublePinyinSchema.values_and_ids[i].
item_message_id)));
list_value->Append(option);
}
localized_strings->Set(
GetTemplateDataPropertyName(language_prefs::kPinyinDoublePinyinSchema,
kI18nPrefix),
list_value);
}
} // namespace options
} // namespace chromeos
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_PINYIN_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_PINYIN_HANDLER_H_
#include "base/compiler_specific.h"
#include "chrome/browser/ui/webui/options/options_ui.h"
namespace base {
class DictionaryValue;
}
namespace chromeos {
namespace options {
// Pinyin options page UI handler.
class LanguagePinyinHandler : public ::options::OptionsPageUIHandler {
public:
LanguagePinyinHandler();
virtual ~LanguagePinyinHandler();
// OptionsPageUIHandler implementation.
virtual void GetLocalizedValues(
base::DictionaryValue* localized_strings) OVERRIDE;
private:
DISALLOW_COPY_AND_ASSIGN(LanguagePinyinHandler);
};
} // namespace options
} // namespace chromeos
#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_LANGUAGE_PINYIN_HANDLER_H_
...@@ -75,10 +75,6 @@ ...@@ -75,10 +75,6 @@
#include "chrome/browser/ui/webui/options/chromeos/display_overscan_handler.h" #include "chrome/browser/ui/webui/options/chromeos/display_overscan_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/internet_options_handler.h" #include "chrome/browser/ui/webui/options/chromeos/internet_options_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/keyboard_handler.h" #include "chrome/browser/ui/webui/options/chromeos/keyboard_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/language_chewing_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/language_hangul_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/language_mozc_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/language_pinyin_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/pointer_handler.h" #include "chrome/browser/ui/webui/options/chromeos/pointer_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/proxy_handler.h" #include "chrome/browser/ui/webui/options/chromeos/proxy_handler.h"
#include "chrome/browser/ui/webui/options/chromeos/stats_options_handler.h" #include "chrome/browser/ui/webui/options/chromeos/stats_options_handler.h"
...@@ -299,16 +295,8 @@ OptionsUI::OptionsUI(content::WebUI* web_ui) ...@@ -299,16 +295,8 @@ OptionsUI::OptionsUI(content::WebUI* web_ui)
new chromeos::options::DisplayOverscanHandler()); new chromeos::options::DisplayOverscanHandler());
AddOptionsPageUIHandler(localized_strings, AddOptionsPageUIHandler(localized_strings,
new chromeos::options::InternetOptionsHandler()); new chromeos::options::InternetOptionsHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::LanguageChewingHandler());
AddOptionsPageUIHandler(localized_strings, AddOptionsPageUIHandler(localized_strings,
new chromeos::options::KeyboardHandler()); new chromeos::options::KeyboardHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::LanguageHangulHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::LanguageMozcHandler());
AddOptionsPageUIHandler(localized_strings,
new chromeos::options::LanguagePinyinHandler());
chromeos::options::PointerHandler* pointer_handler = chromeos::options::PointerHandler* pointer_handler =
new chromeos::options::PointerHandler(); new chromeos::options::PointerHandler();
......
...@@ -2254,16 +2254,6 @@ ...@@ -2254,16 +2254,6 @@
'browser/ui/webui/options/chromeos/internet_options_handler.h', 'browser/ui/webui/options/chromeos/internet_options_handler.h',
'browser/ui/webui/options/chromeos/keyboard_handler.cc', 'browser/ui/webui/options/chromeos/keyboard_handler.cc',
'browser/ui/webui/options/chromeos/keyboard_handler.h', 'browser/ui/webui/options/chromeos/keyboard_handler.h',
'browser/ui/webui/options/chromeos/language_chewing_handler.cc',
'browser/ui/webui/options/chromeos/language_chewing_handler.h',
'browser/ui/webui/options/chromeos/language_hangul_handler.cc',
'browser/ui/webui/options/chromeos/language_hangul_handler.h',
'browser/ui/webui/options/chromeos/language_mozc_handler.cc',
'browser/ui/webui/options/chromeos/language_mozc_handler.h',
'browser/ui/webui/options/chromeos/language_options_util.cc',
'browser/ui/webui/options/chromeos/language_options_util.h',
'browser/ui/webui/options/chromeos/language_pinyin_handler.cc',
'browser/ui/webui/options/chromeos/language_pinyin_handler.h',
'browser/ui/webui/options/chromeos/pointer_handler.cc', 'browser/ui/webui/options/chromeos/pointer_handler.cc',
'browser/ui/webui/options/chromeos/pointer_handler.h', 'browser/ui/webui/options/chromeos/pointer_handler.h',
'browser/ui/webui/options/chromeos/proxy_handler.cc', 'browser/ui/webui/options/chromeos/proxy_handler.cc',
......
...@@ -676,7 +676,6 @@ ...@@ -676,7 +676,6 @@
'browser/chromeos/keyboard_driven_event_rewriter_unittest.cc', 'browser/chromeos/keyboard_driven_event_rewriter_unittest.cc',
'browser/chromeos/kiosk_mode/kiosk_mode_idle_logout_unittest.cc', 'browser/chromeos/kiosk_mode/kiosk_mode_idle_logout_unittest.cc',
'browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc', 'browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc',
'browser/chromeos/language_preferences_unittest.cc',
'browser/chromeos/login/default_pinned_apps_field_trial_unittest.cc', 'browser/chromeos/login/default_pinned_apps_field_trial_unittest.cc',
'browser/chromeos/login/existing_user_controller_auto_login_unittest.cc', 'browser/chromeos/login/existing_user_controller_auto_login_unittest.cc',
'browser/chromeos/login/hwid_checker_unittest.cc', 'browser/chromeos/login/hwid_checker_unittest.cc',
......
...@@ -657,108 +657,6 @@ const char kLanguagePreloadEngines[] = "settings.language.preload_engines"; ...@@ -657,108 +657,6 @@ const char kLanguagePreloadEngines[] = "settings.language.preload_engines";
const char kLanguageEnabledExtensionImes[] = const char kLanguageEnabledExtensionImes[] =
"settings.language.enabled_extension_imes"; "settings.language.enabled_extension_imes";
// Boolean prefs for ibus-chewing Chinese input method.
const char kLanguageChewingAutoShiftCur[] =
"settings.language.chewing_auto_shift_cur";
const char kLanguageChewingAddPhraseDirection[] =
"settings.language.chewing_add_phrase_direction";
const char kLanguageChewingEasySymbolInput[] =
"settings.language.chewing_easy_symbol_input";
const char kLanguageChewingEscCleanAllBuf[] =
"settings.language.chewing_esc_clean_all_buf";
const char kLanguageChewingForceLowercaseEnglish[] =
"settings.language.chewing_force_lowercase_english";
const char kLanguageChewingPlainZhuyin[] =
"settings.language.chewing_plain_zhuyin";
const char kLanguageChewingPhraseChoiceRearward[] =
"settings.language.chewing_phrase_choice_rearward";
const char kLanguageChewingSpaceAsSelection[] =
"settings.language.chewing_space_as_selection";
// Integer prefs for ibus-chewing Chinese input method.
const char kLanguageChewingMaxChiSymbolLen[] =
"settings.language.chewing_max_chi_symbol_len";
const char kLanguageChewingCandPerPage[] =
"settings.language.chewing_cand_per_page";
// String prefs for ibus-chewing Chinese input method.
const char kLanguageChewingKeyboardType[] =
"settings.language.chewing_keyboard_type";
const char kLanguageChewingSelKeys[] =
"settings.language.chewing_sel_keys";
const char kLanguageChewingHsuSelKeyType[] =
"settings.language.chewing_hsu_sel_key_type";
// A string pref which determines the keyboard layout for Hangul input method.
const char kLanguageHangulKeyboard[] = "settings.language.hangul_keyboard";
const char kLanguageHangulHanjaBindingKeys[] =
"settings.language.hangul_hanja_binding_keys";
// A boolean prefs for ibus-pinyin Chinese input method.
const char kLanguagePinyinCorrectPinyin[] =
"settings.language.pinyin_correct_pinyin";
const char kLanguagePinyinFuzzyPinyin[] =
"settings.language.pinyin_fuzzy_pinyin";
const char kLanguagePinyinShiftSelectCandidate[] =
"settings.language.pinyin_shift_select_candidate";
const char kLanguagePinyinMinusEqualPage[] =
"settings.language.pinyin_minus_equal_page";
const char kLanguagePinyinCommaPeriodPage[] =
"settings.language.pinyin_comma_period_page";
const char kLanguagePinyinAutoCommit[] =
"settings.language.pinyin_auto_commit";
const char kLanguagePinyinDoublePinyin[] =
"settings.language.pinyin_double_pinyin";
const char kLanguagePinyinInitChinese[] =
"settings.language.pinyin_init_chinese";
const char kLanguagePinyinInitFull[] =
"settings.language.pinyin_init_full";
const char kLanguagePinyinInitFullPunct[] =
"settings.language.pinyin_init_full_punct";
const char kLanguagePinyinInitSimplifiedChinese[] =
"settings.language.pinyin_init_simplified_chinese";
const char kLanguagePinyinTradCandidate[] =
"settings.language.pinyin_trad_candidate";
// A integer prefs for ibus-pinyin Chinese input method.
const char kLanguagePinyinDoublePinyinSchema[] =
"settings.language.pinyin_double_pinyin_schema";
const char kLanguagePinyinLookupTablePageSize[] =
"settings.language.pinyin_lookup_table_page_size";
// A string prefs for ibus-mozc Japanese input method.
// ibus-mozc converts the string values to protobuf enum values defined in
// third_party/ibus-mozc/files/src/session/config.proto.
const char kLanguageMozcPreeditMethod[] =
"settings.language.mozc_preedit_method";
const char kLanguageMozcSessionKeymap[] =
"settings.language.mozc_session_keymap";
const char kLanguageMozcPunctuationMethod[] =
"settings.language.mozc_punctuation_method";
const char kLanguageMozcSymbolMethod[] =
"settings.language.mozc_symbol_method";
const char kLanguageMozcSpaceCharacterForm[] =
"settings.language.mozc_space_character_form";
const char kLanguageMozcHistoryLearningLevel[] =
"settings.language.mozc_history_learning_level";
const char kLanguageMozcSelectionShortcut[] =
"settings.language.mozc_selection_shortcut";
const char kLanguageMozcShiftKeyModeSwitch[] =
"settings.language.mozc_shift_key_mode_switch";
const char kLanguageMozcNumpadCharacterForm[] =
"settings.language.mozc_numpad_character_form";
const char kLanguageMozcIncognitoMode[] =
"settings.language.mozc_incognito_mode";
const char kLanguageMozcUseAutoImeTurnOff[] =
"settings.language.mozc_use_auto_ime_turn_off";
const char kLanguageMozcUseHistorySuggest[] =
"settings.language.mozc_use_history_suggest";
const char kLanguageMozcUseDictionarySuggest[] =
"settings.language.mozc_use_dictionary_suggest";
const char kLanguageMozcSuggestionsSize[] =
"settings.language.mozc_suggestions_size";
// A integer prefs which determine how we remap modifier keys (e.g. swap Alt and // A integer prefs which determine how we remap modifier keys (e.g. swap Alt and
// Control.) Possible values for these prefs are 0-4. See ModifierKey enum in // Control.) Possible values for these prefs are 0-4. See ModifierKey enum in
// src/chrome/browser/chromeos/input_method/xkeyboard.h // src/chrome/browser/chromeos/input_method/xkeyboard.h
......
...@@ -232,49 +232,6 @@ extern const char kLanguageHotkeyPreviousEngine[]; ...@@ -232,49 +232,6 @@ extern const char kLanguageHotkeyPreviousEngine[];
extern const char kLanguagePreferredLanguages[]; extern const char kLanguagePreferredLanguages[];
extern const char kLanguagePreloadEngines[]; extern const char kLanguagePreloadEngines[];
extern const char kLanguageEnabledExtensionImes[]; extern const char kLanguageEnabledExtensionImes[];
extern const char kLanguageChewingAutoShiftCur[];
extern const char kLanguageChewingAddPhraseDirection[];
extern const char kLanguageChewingEasySymbolInput[];
extern const char kLanguageChewingEscCleanAllBuf[];
extern const char kLanguageChewingForceLowercaseEnglish[];
extern const char kLanguageChewingPlainZhuyin[];
extern const char kLanguageChewingPhraseChoiceRearward[];
extern const char kLanguageChewingSpaceAsSelection[];
extern const char kLanguageChewingMaxChiSymbolLen[];
extern const char kLanguageChewingCandPerPage[];
extern const char kLanguageChewingKeyboardType[];
extern const char kLanguageChewingSelKeys[];
extern const char kLanguageChewingHsuSelKeyType[];
extern const char kLanguageHangulKeyboard[];
extern const char kLanguageHangulHanjaBindingKeys[];
extern const char kLanguagePinyinCorrectPinyin[];
extern const char kLanguagePinyinFuzzyPinyin[];
extern const char kLanguagePinyinLookupTablePageSize[];
extern const char kLanguagePinyinShiftSelectCandidate[];
extern const char kLanguagePinyinMinusEqualPage[];
extern const char kLanguagePinyinCommaPeriodPage[];
extern const char kLanguagePinyinAutoCommit[];
extern const char kLanguagePinyinDoublePinyin[];
extern const char kLanguagePinyinDoublePinyinSchema[];
extern const char kLanguagePinyinInitChinese[];
extern const char kLanguagePinyinInitFull[];
extern const char kLanguagePinyinInitFullPunct[];
extern const char kLanguagePinyinInitSimplifiedChinese[];
extern const char kLanguagePinyinTradCandidate[];
extern const char kLanguageMozcPreeditMethod[];
extern const char kLanguageMozcSessionKeymap[];
extern const char kLanguageMozcPunctuationMethod[];
extern const char kLanguageMozcSymbolMethod[];
extern const char kLanguageMozcSpaceCharacterForm[];
extern const char kLanguageMozcHistoryLearningLevel[];
extern const char kLanguageMozcSelectionShortcut[];
extern const char kLanguageMozcShiftKeyModeSwitch[];
extern const char kLanguageMozcNumpadCharacterForm[];
extern const char kLanguageMozcIncognitoMode[];
extern const char kLanguageMozcUseAutoImeTurnOff[];
extern const char kLanguageMozcUseHistorySuggest[];
extern const char kLanguageMozcUseDictionarySuggest[];
extern const char kLanguageMozcSuggestionsSize[];
extern const char kLanguageRemapCapsLockKeyTo[]; extern const char kLanguageRemapCapsLockKeyTo[];
extern const char kLanguageRemapSearchKeyTo[]; extern const char kLanguageRemapSearchKeyTo[];
extern const char kLanguageRemapControlKeyTo[]; extern const char kLanguageRemapControlKeyTo[];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment