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

Side by Side Diff: chrome/browser/chromeos/options/language_chewing_config_view.cc

Issue 3132023: Add language_prefs namespace to language_preferences.h. (Closed)
Patch Set: address comments Created 10 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/options/language_chewing_config_view.h" 5 #include "chrome/browser/chromeos/options/language_chewing_config_view.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/browser/chromeos/cros/cros_library.h" 9 #include "chrome/browser/chromeos/cros/cros_library.h"
10 #include "chrome/browser/chromeos/cros/input_method_library.h" 10 #include "chrome/browser/chromeos/cros/input_method_library.h"
11 #include "chrome/browser/chromeos/options/language_config_util.h" 11 #include "chrome/browser/chromeos/options/language_config_util.h"
12 #include "chrome/browser/chromeos/preferences.h" 12 #include "chrome/browser/chromeos/preferences.h"
13 #include "chrome/browser/profile.h" 13 #include "chrome/browser/profile.h"
14 #include "chrome/common/notification_type.h" 14 #include "chrome/common/notification_type.h"
15 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
16 #include "grit/generated_resources.h" 16 #include "grit/generated_resources.h"
17 #include "grit/locale_settings.h" 17 #include "grit/locale_settings.h"
18 #include "views/controls/button/checkbox.h" 18 #include "views/controls/button/checkbox.h"
19 #include "views/controls/label.h" 19 #include "views/controls/label.h"
20 #include "views/grid_layout.h" 20 #include "views/grid_layout.h"
21 #include "views/standard_layout.h" 21 #include "views/standard_layout.h"
22 #include "views/window/window.h" 22 #include "views/window/window.h"
23 23
24 namespace chromeos { 24 namespace chromeos {
25 25
26 LanguageChewingConfigView::LanguageChewingConfigView(Profile* profile) 26 LanguageChewingConfigView::LanguageChewingConfigView(Profile* profile)
27 : OptionsPageView(profile), contents_(NULL) { 27 : OptionsPageView(profile), contents_(NULL) {
28 for (size_t i = 0; i < kNumChewingBooleanPrefs; ++i) { 28 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
29 chewing_boolean_prefs_[i].Init( 29 chewing_boolean_prefs_[i].Init(
30 kChewingBooleanPrefs[i].pref_name, profile->GetPrefs(), this); 30 language_prefs::kChewingBooleanPrefs[i].pref_name,
31 profile->GetPrefs(), this);
31 chewing_boolean_checkboxes_[i] = NULL; 32 chewing_boolean_checkboxes_[i] = NULL;
32 } 33 }
33 for (size_t i = 0; i < kNumChewingMultipleChoicePrefs; ++i) { 34 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
34 ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i]; 35 ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i];
35 current.multiple_choice_pref.Init( 36 current.multiple_choice_pref.Init(
36 kChewingMultipleChoicePrefs[i].pref_name, profile->GetPrefs(), this); 37 language_prefs::kChewingMultipleChoicePrefs[i].pref_name,
38 profile->GetPrefs(), this);
37 current.combobox_model = 39 current.combobox_model =
38 new LanguageComboboxModel<const char*>(&kChewingMultipleChoicePrefs[i]); 40 new LanguageComboboxModel<const char*>(
41 &language_prefs::kChewingMultipleChoicePrefs[i]);
39 current.combobox = NULL; 42 current.combobox = NULL;
40 } 43 }
41 44
42 hsu_sel_key_type_.multiple_choice_pref.Init( 45 hsu_sel_key_type_.multiple_choice_pref.Init(
43 kChewingHsuSelKeyType.pref_name, profile->GetPrefs(), this); 46 language_prefs::kChewingHsuSelKeyType.pref_name, profile->GetPrefs(),
47 this);
44 hsu_sel_key_type_.combobox_model = 48 hsu_sel_key_type_.combobox_model =
45 new LanguageComboboxModel<int>(&kChewingHsuSelKeyType); 49 new LanguageComboboxModel<int>(&language_prefs::kChewingHsuSelKeyType);
46 hsu_sel_key_type_.combobox = NULL; 50 hsu_sel_key_type_.combobox = NULL;
47 51
48 for (size_t i = 0; i < kNumChewingIntegerPrefs; ++i) { 52 for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) {
49 chewing_integer_prefs_[i].Init( 53 chewing_integer_prefs_[i].Init(
50 kChewingIntegerPrefs[i].pref_name, profile->GetPrefs(), this); 54 language_prefs::kChewingIntegerPrefs[i].pref_name,
55 profile->GetPrefs(), this);
51 chewing_integer_sliders_[i] = NULL; 56 chewing_integer_sliders_[i] = NULL;
52 } 57 }
53 } 58 }
54 59
55 LanguageChewingConfigView::~LanguageChewingConfigView() { 60 LanguageChewingConfigView::~LanguageChewingConfigView() {
56 } 61 }
57 62
58 void LanguageChewingConfigView::ButtonPressed( 63 void LanguageChewingConfigView::ButtonPressed(
59 views::Button* sender, const views::Event& event) { 64 views::Button* sender, const views::Event& event) {
60 views::Checkbox* checkbox = static_cast<views::Checkbox*>(sender); 65 views::Checkbox* checkbox = static_cast<views::Checkbox*>(sender);
61 const int pref_id = checkbox->tag(); 66 const int pref_id = checkbox->tag();
62 DCHECK(pref_id >= 0 && pref_id < static_cast<int>(kNumChewingBooleanPrefs)); 67 DCHECK(pref_id >= 0 && pref_id < static_cast<int>(
68 language_prefs::kNumChewingBooleanPrefs));
63 chewing_boolean_prefs_[pref_id].SetValue(checkbox->checked()); 69 chewing_boolean_prefs_[pref_id].SetValue(checkbox->checked());
64 } 70 }
65 71
66 void LanguageChewingConfigView::ItemChanged( 72 void LanguageChewingConfigView::ItemChanged(
67 views::Combobox* sender, int prev_index, int new_index) { 73 views::Combobox* sender, int prev_index, int new_index) {
68 for (size_t i = 0; i < kNumChewingMultipleChoicePrefs; ++i) { 74 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
69 ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i]; 75 ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i];
70 if (current.combobox == sender) { 76 if (current.combobox == sender) {
71 const std::string config_value = 77 const std::string config_value =
72 current.combobox_model->GetConfigValueAt(new_index); 78 current.combobox_model->GetConfigValueAt(new_index);
73 LOG(INFO) << "Changing Chewing pref to " << config_value; 79 LOG(INFO) << "Changing Chewing pref to " << config_value;
74 // Update the Chrome pref. 80 // Update the Chrome pref.
75 current.multiple_choice_pref.SetValue(config_value); 81 current.multiple_choice_pref.SetValue(config_value);
76 break; 82 break;
77 } 83 }
78 } 84 }
79 if (hsu_sel_key_type_.combobox == sender) { 85 if (hsu_sel_key_type_.combobox == sender) {
80 const int config_value = 86 const int config_value =
81 hsu_sel_key_type_.combobox_model->GetConfigValueAt(new_index); 87 hsu_sel_key_type_.combobox_model->GetConfigValueAt(new_index);
82 LOG(INFO) << "Changing Chewing pref to " << config_value; 88 LOG(INFO) << "Changing Chewing pref to " << config_value;
83 // Update the Chrome pref. 89 // Update the Chrome pref.
84 hsu_sel_key_type_.multiple_choice_pref.SetValue(config_value); 90 hsu_sel_key_type_.multiple_choice_pref.SetValue(config_value);
85 } 91 }
86 } 92 }
87 93
88 void LanguageChewingConfigView::SliderValueChanged(views::Slider* sender) { 94 void LanguageChewingConfigView::SliderValueChanged(views::Slider* sender) {
89 size_t pref_id; 95 size_t pref_id;
90 for (pref_id = 0; pref_id < kNumChewingIntegerPrefs; ++pref_id) { 96 for (pref_id = 0; pref_id < language_prefs::kNumChewingIntegerPrefs;
97 ++pref_id) {
91 if (chewing_integer_sliders_[pref_id] == sender) 98 if (chewing_integer_sliders_[pref_id] == sender)
92 break; 99 break;
93 } 100 }
94 DCHECK(pref_id < kNumChewingIntegerPrefs); 101 DCHECK(pref_id < language_prefs::kNumChewingIntegerPrefs);
95 chewing_integer_prefs_[pref_id].SetValue(sender->value()); 102 chewing_integer_prefs_[pref_id].SetValue(sender->value());
96 } 103 }
97 104
98 105
99 void LanguageChewingConfigView::Layout() { 106 void LanguageChewingConfigView::Layout() {
100 // Not sure why but this is needed to show contents in the dialog. 107 // Not sure why but this is needed to show contents in the dialog.
101 contents_->SetBounds(0, 0, width(), height()); 108 contents_->SetBounds(0, 0, width(), height());
102 } 109 }
103 110
104 int LanguageChewingConfigView::GetDialogButtons() const { 111 int LanguageChewingConfigView::GetDialogButtons() const {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 contents_->SetLayoutManager(layout); 144 contents_->SetLayoutManager(layout);
138 145
139 const int kColumnSetId = 0; 146 const int kColumnSetId = 0;
140 ColumnSet* column_set = layout->AddColumnSet(kColumnSetId); 147 ColumnSet* column_set = layout->AddColumnSet(kColumnSetId);
141 column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0, 148 column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
142 GridLayout::USE_PREF, 0, 0); 149 GridLayout::USE_PREF, 0, 0);
143 column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing); 150 column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing);
144 column_set->AddColumn(GridLayout::FILL, GridLayout::LEADING, 1, 151 column_set->AddColumn(GridLayout::FILL, GridLayout::LEADING, 1,
145 GridLayout::USE_PREF, 0, 0); 152 GridLayout::USE_PREF, 0, 0);
146 153
147 for (size_t i = 0; i < kNumChewingBooleanPrefs; ++i) { 154 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
148 chewing_boolean_checkboxes_[i] = new views::Checkbox( 155 chewing_boolean_checkboxes_[i] = new views::Checkbox(
149 l10n_util::GetString(kChewingBooleanPrefs[i].message_id)); 156 l10n_util::GetString(
157 language_prefs::kChewingBooleanPrefs[i].message_id));
150 chewing_boolean_checkboxes_[i]->set_listener(this); 158 chewing_boolean_checkboxes_[i]->set_listener(this);
151 chewing_boolean_checkboxes_[i]->set_tag(i); 159 chewing_boolean_checkboxes_[i]->set_tag(i);
152 } 160 }
153 for (size_t i = 0; i < kNumChewingMultipleChoicePrefs; ++i) { 161 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
154 ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i]; 162 ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i];
155 current.combobox = new LanguageCombobox(current.combobox_model); 163 current.combobox = new LanguageCombobox(current.combobox_model);
156 current.combobox->set_listener(this); 164 current.combobox->set_listener(this);
157 } 165 }
158 hsu_sel_key_type_.combobox = 166 hsu_sel_key_type_.combobox =
159 new LanguageCombobox(hsu_sel_key_type_.combobox_model); 167 new LanguageCombobox(hsu_sel_key_type_.combobox_model);
160 hsu_sel_key_type_.combobox->set_listener(this); 168 hsu_sel_key_type_.combobox->set_listener(this);
161 169
162 for (size_t i = 0; i < kNumChewingIntegerPrefs; ++i) { 170 for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) {
163 chewing_integer_sliders_[i] = new views::Slider( 171 chewing_integer_sliders_[i] = new views::Slider(
164 kChewingIntegerPrefs[i].min_pref_value, 172 language_prefs::kChewingIntegerPrefs[i].min_pref_value,
165 kChewingIntegerPrefs[i].max_pref_value, 173 language_prefs::kChewingIntegerPrefs[i].max_pref_value,
166 1, 174 1,
167 static_cast<views::Slider::StyleFlags>( 175 static_cast<views::Slider::StyleFlags>(
168 views::Slider::STYLE_DRAW_VALUE | 176 views::Slider::STYLE_DRAW_VALUE |
169 views::Slider::STYLE_UPDATE_ON_RELEASE), 177 views::Slider::STYLE_UPDATE_ON_RELEASE),
170 this); 178 this);
171 } 179 }
172 for (size_t i = 0; i < kNumChewingBooleanPrefs; ++i) { 180 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
173 layout->StartRow(0, kColumnSetId); 181 layout->StartRow(0, kColumnSetId);
174 layout->AddView(chewing_boolean_checkboxes_[i]); 182 layout->AddView(chewing_boolean_checkboxes_[i]);
175 } 183 }
176 184
177 for (size_t i = 0; i < kNumChewingIntegerPrefs; ++i) { 185 for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) {
178 layout->StartRow(0, kColumnSetId); 186 layout->StartRow(0, kColumnSetId);
179 layout->AddView(new views::Label( 187 layout->AddView(new views::Label(
180 l10n_util::GetString(kChewingIntegerPrefs[i].message_id))); 188 l10n_util::GetString(
189 language_prefs::kChewingIntegerPrefs[i].message_id)));
181 layout->AddView(chewing_integer_sliders_[i]); 190 layout->AddView(chewing_integer_sliders_[i]);
182 } 191 }
183 NotifyPrefChanged(); 192 NotifyPrefChanged();
184 193
185 // Show the comboboxes. 194 // Show the comboboxes.
186 for (size_t i = 0; i < kNumChewingMultipleChoicePrefs; ++i) { 195 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
187 const ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i]; 196 const ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i];
188 layout->StartRow(0, kColumnSetId); 197 layout->StartRow(0, kColumnSetId);
189 layout->AddView(new views::Label(current.combobox_model->GetLabel())); 198 layout->AddView(new views::Label(current.combobox_model->GetLabel()));
190 layout->AddView(current.combobox); 199 layout->AddView(current.combobox);
191 } 200 }
192 layout->StartRow(0, kColumnSetId); 201 layout->StartRow(0, kColumnSetId);
193 layout->AddView( 202 layout->AddView(
194 new views::Label(hsu_sel_key_type_.combobox_model->GetLabel())); 203 new views::Label(hsu_sel_key_type_.combobox_model->GetLabel()));
195 layout->AddView(hsu_sel_key_type_.combobox); 204 layout->AddView(hsu_sel_key_type_.combobox);
196 } 205 }
197 206
198 void LanguageChewingConfigView::Observe(NotificationType type, 207 void LanguageChewingConfigView::Observe(NotificationType type,
199 const NotificationSource& source, 208 const NotificationSource& source,
200 const NotificationDetails& details) { 209 const NotificationDetails& details) {
201 if (type == NotificationType::PREF_CHANGED) { 210 if (type == NotificationType::PREF_CHANGED) {
202 NotifyPrefChanged(); 211 NotifyPrefChanged();
203 } 212 }
204 } 213 }
205 214
206 void LanguageChewingConfigView::NotifyPrefChanged() { 215 void LanguageChewingConfigView::NotifyPrefChanged() {
207 for (size_t i = 0; i < kNumChewingBooleanPrefs; ++i) { 216 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
208 const bool checked = chewing_boolean_prefs_[i].GetValue(); 217 const bool checked = chewing_boolean_prefs_[i].GetValue();
209 chewing_boolean_checkboxes_[i]->SetChecked(checked); 218 chewing_boolean_checkboxes_[i]->SetChecked(checked);
210 } 219 }
211 for (size_t i = 0; i < kNumChewingIntegerPrefs; ++i) { 220 for (size_t i = 0; i < language_prefs::kNumChewingIntegerPrefs; ++i) {
212 const int value = chewing_integer_prefs_[i].GetValue(); 221 const int value = chewing_integer_prefs_[i].GetValue();
213 chewing_integer_sliders_[i]->SetValue(value); 222 chewing_integer_sliders_[i]->SetValue(value);
214 } 223 }
215 for (size_t i = 0; i < kNumChewingMultipleChoicePrefs; ++i) { 224 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
216 ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i]; 225 ChewingPrefAndAssociatedCombobox& current = prefs_and_comboboxes_[i];
217 const std::string value = current.multiple_choice_pref.GetValue(); 226 const std::string value = current.multiple_choice_pref.GetValue();
218 for (int i = 0; i < current.combobox_model->num_items(); ++i) { 227 for (int i = 0; i < current.combobox_model->num_items(); ++i) {
219 if (current.combobox_model->GetConfigValueAt(i) == value) { 228 if (current.combobox_model->GetConfigValueAt(i) == value) {
220 current.combobox->SetSelectedItem(i); 229 current.combobox->SetSelectedItem(i);
221 break; 230 break;
222 } 231 }
223 } 232 }
224 } 233 }
225 const int value = hsu_sel_key_type_.multiple_choice_pref.GetValue(); 234 const int value = hsu_sel_key_type_.multiple_choice_pref.GetValue();
226 for (int i = 0; i < hsu_sel_key_type_.combobox_model->num_items(); ++i) { 235 for (int i = 0; i < hsu_sel_key_type_.combobox_model->num_items(); ++i) {
227 if (hsu_sel_key_type_.combobox_model->GetConfigValueAt(i) == value) { 236 if (hsu_sel_key_type_.combobox_model->GetConfigValueAt(i) == value) {
228 hsu_sel_key_type_.combobox->SetSelectedItem(i); 237 hsu_sel_key_type_.combobox->SetSelectedItem(i);
229 break; 238 break;
230 } 239 }
231 } 240 }
232 } 241 }
233 242
234 } // namespace chromeos 243 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/options/language_chewing_config_view.h ('k') | chrome/browser/chromeos/options/language_config_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698