summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authorkochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-08 03:07:02 +0000
committerkochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-08 03:07:02 +0000
commitf0e4333614a7be4800970f4c1a975325f387a7f8 (patch)
tree7fd97adcba766a101e04af33e3af1d3c683d1849 /chrome/browser/chromeos
parentfb7490478da3b198520e2fb0ba8ebcbc0360ac25 (diff)
downloadchromium_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')
-rw-r--r--chrome/browser/chromeos/dom_ui/language_chewing_options_handler.cc26
-rw-r--r--chrome/browser/chromeos/dom_ui/language_mozc_options_handler.cc16
-rw-r--r--chrome/browser/chromeos/language_preferences.h2
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[];