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

Unified Diff: chrome/browser/chromeos/options/language_chewing_config_view.cc

Issue 2457001: Add Chewing integer preferences (Closed)
Patch Set: Code Review Created 10 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/options/language_chewing_config_view.cc
diff --git a/chrome/browser/chromeos/options/language_chewing_config_view.cc b/chrome/browser/chromeos/options/language_chewing_config_view.cc
index 25c25a86225664a3baa96e25c842a5eddd551015..0941a62dee5053b145b1b4cd8f7cfec9713e8a7b 100644
--- a/chrome/browser/chromeos/options/language_chewing_config_view.cc
+++ b/chrome/browser/chromeos/options/language_chewing_config_view.cc
@@ -126,6 +126,11 @@ LanguageChewingConfigView::LanguageChewingConfigView(Profile* profile)
new ChewingComboboxModel(&kChewingMultipleChoicePrefs[i]);
current.combobox = NULL;
}
+ for (size_t i = 0; i < kNumChewingIntegerPrefs; ++i) {
+ chewing_integer_prefs_[i].Init(
+ kChewingIntegerPrefs[i].pref_name, profile->GetPrefs(), this);
+ chewing_integer_sliders_[i] = NULL;
+ }
}
LanguageChewingConfigView::~LanguageChewingConfigView() {
@@ -154,6 +159,17 @@ void LanguageChewingConfigView::ItemChanged(
}
}
+void LanguageChewingConfigView::SliderValueChanged(views::Slider* sender) {
+ size_t pref_id;
+ for (pref_id = 0; pref_id < kNumChewingIntegerPrefs; ++pref_id) {
+ if (chewing_integer_sliders_[pref_id] == sender)
+ break;
+ }
+ DCHECK(pref_id < kNumChewingIntegerPrefs);
+ chewing_integer_prefs_[pref_id].SetValue(sender->value());
+}
+
+
void LanguageChewingConfigView::Layout() {
// Not sure why but this is needed to show contents in the dialog.
contents_->SetBounds(0, 0, width(), height());
@@ -187,7 +203,7 @@ void LanguageChewingConfigView::InitControlLayout() {
column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
GridLayout::USE_PREF, 0, 0);
column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
+ column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 0,
GridLayout::USE_PREF, 0, 0);
for (size_t i = 0; i < kNumChewingBooleanPrefs; ++i) {
@@ -201,12 +217,29 @@ void LanguageChewingConfigView::InitControlLayout() {
current.combobox = new ChewingCombobox(current.combobox_model);
current.combobox->set_listener(this);
}
- NotifyPrefChanged();
+ for (size_t i = 0; i < kNumChewingIntegerPrefs; ++i) {
+ chewing_integer_sliders_[i] = new views::Slider(
+ kChewingIntegerPrefs[i].min_pref_value,
+ kChewingIntegerPrefs[i].max_pref_value,
+ 1,
+ static_cast<views::Slider::StyleFlags>(
+ views::Slider::STYLE_DRAW_VALUE |
+ views::Slider::STYLE_UPDATE_ON_RELEASE),
+ this);
+ }
for (size_t i = 0; i < kNumChewingBooleanPrefs; ++i) {
layout->StartRow(0, kColumnSetId);
layout->AddView(chewing_boolean_checkboxes_[i]);
}
+ for (size_t i = 0; i < kNumChewingIntegerPrefs; ++i) {
+ layout->StartRow(0, kColumnSetId);
+ layout->AddView(new views::Label(
+ l10n_util::GetString(kChewingIntegerPrefs[i].message_id)));
+ layout->AddView(chewing_integer_sliders_[i]);
+ }
+ NotifyPrefChanged();
+
// Show the comboboxes.
for (size_t i = 0; i < kNumChewingMultipleChoicePrefs; ++i) {
const ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i];
@@ -229,6 +262,10 @@ void LanguageChewingConfigView::NotifyPrefChanged() {
const bool checked = chewing_boolean_prefs_[i].GetValue();
chewing_boolean_checkboxes_[i]->SetChecked(checked);
}
+ for (size_t i = 0; i < kNumChewingIntegerPrefs; ++i) {
+ const int value = chewing_integer_prefs_[i].GetValue();
+ chewing_integer_sliders_[i]->SetValue(value);
+ }
for (size_t i = 0; i < kNumChewingMultipleChoicePrefs; ++i) {
ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i];
const std::wstring value = current.multiple_choice_pref.GetValue();
« no previous file with comments | « chrome/browser/chromeos/options/language_chewing_config_view.h ('k') | chrome/browser/chromeos/preferences.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698