diff options
author | kochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-08 03:07:02 +0000 |
---|---|---|
committer | kochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-08 03:07:02 +0000 |
commit | f0e4333614a7be4800970f4c1a975325f387a7f8 (patch) | |
tree | 7fd97adcba766a101e04af33e3af1d3c683d1849 /chrome/browser/chromeos | |
parent | fb7490478da3b198520e2fb0ba8ebcbc0360ac25 (diff) | |
download | chromium_src-f0e4333614a7be4800970f4c1a975325f387a7f8.zip chromium_src-f0e4333614a7be4800970f4c1a975325f387a7f8.tar.gz chromium_src-f0e4333614a7be4800970f4c1a975325f387a7f8.tar.bz2 |
Input box with spin-button was used to input numbers
which has range.
But the HTML5 spin-button UI (<input type=number>) allows
users to input invalid values, which makes us show error
messages or something.
Instead of using spin-button UI, we use more restrictive
UI so that users cannot set any invalid value.
BUG=chromium-os:6369
TEST=manually on ChromeOS device.
Review URL: http://codereview.chromium.org/3296010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58785 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
3 files changed, 36 insertions, 8 deletions
diff --git a/chrome/browser/chromeos/dom_ui/language_chewing_options_handler.cc b/chrome/browser/chromeos/dom_ui/language_chewing_options_handler.cc index 1101504..6f1eed3 100644 --- a/chrome/browser/chromeos/dom_ui/language_chewing_options_handler.cc +++ b/chrome/browser/chromeos/dom_ui/language_chewing_options_handler.cc @@ -39,9 +39,11 @@ void LanguageChewingOptionsHandler::GetLocalizedValues( language_prefs::kChewingBooleanPrefs[i].message_id)); } - for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) { + // For maximum Chinese characters in pre-edit buffer, we use slider UI. + { const language_prefs::LanguageIntegerRangePreference& preference = - language_prefs::kChewingIntegerPrefs[i]; + language_prefs::kChewingIntegerPrefs[ + language_prefs::kChewingMaxChiSymbolLenIndex]; localized_strings->SetString( GetI18nContentValue(preference, kI18nPrefix), l10n_util::GetStringUTF16(preference.message_id)); @@ -53,6 +55,26 @@ void LanguageChewingOptionsHandler::GetLocalizedValues( 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*>& diff --git a/chrome/browser/chromeos/dom_ui/language_mozc_options_handler.cc b/chrome/browser/chromeos/dom_ui/language_mozc_options_handler.cc index e47d875..7015dd9 100644 --- a/chrome/browser/chromeos/dom_ui/language_mozc_options_handler.cc +++ b/chrome/browser/chromeos/dom_ui/language_mozc_options_handler.cc @@ -51,12 +51,16 @@ void LanguageMozcOptionsHandler::GetLocalizedValues( 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)); + 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); } } diff --git a/chrome/browser/chromeos/language_preferences.h b/chrome/browser/chromeos/language_preferences.h index bd22c78..2dfb95e 100644 --- a/chrome/browser/chromeos/language_preferences.h +++ b/chrome/browser/chromeos/language_preferences.h @@ -74,6 +74,8 @@ const size_t kNumChewingBooleanPrefs = 8; 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[]; |