OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #include <windows.h> | 4 #include <windows.h> |
5 #include <shlobj.h> | 5 #include <shlobj.h> |
6 #include <vsstyle.h> | 6 #include <vsstyle.h> |
7 #include <vssym32.h> | 7 #include <vssym32.h> |
8 | 8 |
9 #include "chrome/browser/views/options/languages_page_view.h" | 9 #include "chrome/browser/views/options/languages_page_view.h" |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 #include "chrome/browser/views/options/language_combobox_model.h" | 22 #include "chrome/browser/views/options/language_combobox_model.h" |
23 #include "chrome/browser/views/restart_message_box.h" | 23 #include "chrome/browser/views/restart_message_box.h" |
24 #include "chrome/common/pref_names.h" | 24 #include "chrome/common/pref_names.h" |
25 #include "chrome/common/pref_service.h" | 25 #include "chrome/common/pref_service.h" |
26 #include "grit/chromium_strings.h" | 26 #include "grit/chromium_strings.h" |
27 #include "grit/generated_resources.h" | 27 #include "grit/generated_resources.h" |
28 #include "grit/theme_resources.h" | 28 #include "grit/theme_resources.h" |
29 #include "third_party/skia/include/core/SkBitmap.h" | 29 #include "third_party/skia/include/core/SkBitmap.h" |
30 #include "unicode/uloc.h" | 30 #include "unicode/uloc.h" |
31 #include "views/controls/button/radio_button.h" | 31 #include "views/controls/button/radio_button.h" |
32 #include "views/controls/combo_box.h" | |
33 #include "views/controls/tabbed_pane.h" | 32 #include "views/controls/tabbed_pane.h" |
34 #include "views/controls/table/table_model.h" | 33 #include "views/controls/table/table_model.h" |
35 #include "views/controls/table/table_model_observer.h" | 34 #include "views/controls/table/table_model_observer.h" |
36 #include "views/controls/table/table_view.h" | 35 #include "views/controls/table/table_view.h" |
37 #include "views/grid_layout.h" | 36 #include "views/grid_layout.h" |
38 #include "views/standard_layout.h" | 37 #include "views/standard_layout.h" |
39 #include "views/widget/widget.h" | 38 #include "views/widget/widget.h" |
40 #include "views/window/window.h" | 39 #include "views/window/window.h" |
41 | 40 |
42 static const char* const accept_language_list[] = { | 41 static const char* const accept_language_list[] = { |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 "zh-TW", // Chinese (Traditional) | 171 "zh-TW", // Chinese (Traditional) |
173 "zu", // Zulu | 172 "zu", // Zulu |
174 }; | 173 }; |
175 | 174 |
176 /////////////////////////////////////////////////////////////////////////////// | 175 /////////////////////////////////////////////////////////////////////////////// |
177 // AddLanguageWindowView | 176 // AddLanguageWindowView |
178 // | 177 // |
179 // This opens another window from where a new accept language can be selected. | 178 // This opens another window from where a new accept language can be selected. |
180 // | 179 // |
181 class AddLanguageWindowView : public views::View, | 180 class AddLanguageWindowView : public views::View, |
182 public views::ComboBox::Listener, | 181 public views::Combobox::Listener, |
183 public views::DialogDelegate { | 182 public views::DialogDelegate { |
184 public: | 183 public: |
185 AddLanguageWindowView(LanguagesPageView* language_delegate, Profile* profile); | 184 AddLanguageWindowView(LanguagesPageView* language_delegate, Profile* profile); |
186 views::Window* container() const { return container_; } | 185 views::Window* container() const { return container_; } |
187 void set_container(views::Window* container) { | 186 void set_container(views::Window* container) { |
188 container_ = container; | 187 container_ = container; |
189 } | 188 } |
190 | 189 |
191 // views::DialogDelegate methods. | 190 // views::DialogDelegate methods. |
192 virtual bool Accept(); | 191 virtual bool Accept(); |
193 virtual std::wstring GetWindowTitle() const; | 192 virtual std::wstring GetWindowTitle() const; |
194 | 193 |
195 // views::WindowDelegate method. | 194 // views::WindowDelegate method. |
196 virtual bool IsModal() const { return true; } | 195 virtual bool IsModal() const { return true; } |
197 virtual views::View* GetContentsView() { return this; } | 196 virtual views::View* GetContentsView() { return this; } |
198 | 197 |
199 // views::ComboBox::Listener implementation: | 198 // views::Combobox::Listener implementation: |
200 virtual void ItemChanged(views::ComboBox* combo_box, | 199 virtual void ItemChanged(views::Combobox* combobox, |
201 int prev_index, | 200 int prev_index, |
202 int new_index); | 201 int new_index); |
203 | 202 |
204 // views::View overrides. | 203 // views::View overrides. |
205 virtual void Layout(); | 204 virtual void Layout(); |
206 virtual gfx::Size GetPreferredSize(); | 205 virtual gfx::Size GetPreferredSize(); |
207 | 206 |
208 protected: | 207 protected: |
209 virtual void ViewHierarchyChanged(bool is_add, views::View* parent, | 208 virtual void ViewHierarchyChanged(bool is_add, views::View* parent, |
210 views::View* child); | 209 views::View* child); |
211 | 210 |
212 private: | 211 private: |
213 void Init(); | 212 void Init(); |
214 | 213 |
215 // The Options dialog window. | 214 // The Options dialog window. |
216 views::Window* container_; | 215 views::Window* container_; |
217 | 216 |
218 // Used for Call back to LanguagePageView that language has been selected. | 217 // Used for Call back to LanguagePageView that language has been selected. |
219 LanguagesPageView* language_delegate_; | 218 LanguagesPageView* language_delegate_; |
220 std::string accept_language_selected_; | 219 std::string accept_language_selected_; |
221 | 220 |
222 // Combobox and its corresponding model. | 221 // Combobox and its corresponding model. |
223 scoped_ptr<LanguageComboboxModel> accept_language_combobox_model_; | 222 scoped_ptr<LanguageComboboxModel> accept_language_combobox_model_; |
224 views::ComboBox* accept_language_combobox_; | 223 views::Combobox* accept_language_combobox_; |
225 | 224 |
226 // The Profile associated with this window. | 225 // The Profile associated with this window. |
227 Profile* profile_; | 226 Profile* profile_; |
228 | 227 |
229 DISALLOW_COPY_AND_ASSIGN(AddLanguageWindowView); | 228 DISALLOW_COPY_AND_ASSIGN(AddLanguageWindowView); |
230 }; | 229 }; |
231 | 230 |
232 static const int kDialogPadding = 7; | 231 static const int kDialogPadding = 7; |
233 static int kDefaultWindowWidthChars = 60; | 232 static int kDefaultWindowWidthChars = 60; |
234 static int kDefaultWindowHeightLines = 3; | 233 static int kDefaultWindowHeightLines = 3; |
(...skipping 15 matching lines...) Expand all Loading... |
250 return l10n_util::GetString(IDS_FONT_LANGUAGE_SETTING_LANGUAGES_TAB_TITLE); | 249 return l10n_util::GetString(IDS_FONT_LANGUAGE_SETTING_LANGUAGES_TAB_TITLE); |
251 } | 250 } |
252 | 251 |
253 bool AddLanguageWindowView::Accept() { | 252 bool AddLanguageWindowView::Accept() { |
254 if (language_delegate_) { | 253 if (language_delegate_) { |
255 language_delegate_->OnAddLanguage(accept_language_selected_); | 254 language_delegate_->OnAddLanguage(accept_language_selected_); |
256 } | 255 } |
257 return true; | 256 return true; |
258 } | 257 } |
259 | 258 |
260 void AddLanguageWindowView::ItemChanged(views::ComboBox* combo_box, | 259 void AddLanguageWindowView::ItemChanged(views::Combobox* combobox, |
261 int prev_index, | 260 int prev_index, |
262 int new_index) { | 261 int new_index) { |
263 accept_language_selected_ = accept_language_combobox_model_-> | 262 accept_language_selected_ = accept_language_combobox_model_-> |
264 GetLocaleFromIndex(new_index); | 263 GetLocaleFromIndex(new_index); |
265 } | 264 } |
266 | 265 |
267 void AddLanguageWindowView::Layout() { | 266 void AddLanguageWindowView::Layout() { |
268 gfx::Size sz = accept_language_combobox_->GetPreferredSize(); | 267 gfx::Size sz = accept_language_combobox_->GetPreferredSize(); |
269 accept_language_combobox_->SetBounds(kDialogPadding, kDialogPadding, | 268 accept_language_combobox_->SetBounds(kDialogPadding, kDialogPadding, |
270 width() - 2*kDialogPadding, | 269 width() - 2*kDialogPadding, |
(...skipping 28 matching lines...) Expand all Loading... |
299 // In that case, we skip it. | 298 // In that case, we skip it. |
300 // TODO(jungshik) : Put them at the of the list with language codes | 299 // TODO(jungshik) : Put them at the of the list with language codes |
301 // enclosed by brackets. | 300 // enclosed by brackets. |
302 if (IsStringASCII(local_name) && | 301 if (IsStringASCII(local_name) && |
303 WideToASCII(local_name) == accept_language_list[i]) | 302 WideToASCII(local_name) == accept_language_list[i]) |
304 continue; | 303 continue; |
305 locale_codes.push_back(accept_language_list[i]); | 304 locale_codes.push_back(accept_language_list[i]); |
306 } | 305 } |
307 accept_language_combobox_model_.reset(new LanguageComboboxModel( | 306 accept_language_combobox_model_.reset(new LanguageComboboxModel( |
308 profile_, locale_codes)); | 307 profile_, locale_codes)); |
309 accept_language_combobox_ = new views::ComboBox( | 308 accept_language_combobox_ = new views::Combobox( |
310 accept_language_combobox_model_.get()); | 309 accept_language_combobox_model_.get()); |
311 accept_language_combobox_->SetSelectedItem(0); | 310 accept_language_combobox_->SetSelectedItem(0); |
312 accept_language_combobox_->SetListener(this); | 311 accept_language_combobox_->set_listener(this); |
313 AddChildView(accept_language_combobox_); | 312 AddChildView(accept_language_combobox_); |
314 } | 313 } |
315 | 314 |
316 class LanguageOrderTableModel : public views::TableModel { | 315 class LanguageOrderTableModel : public views::TableModel { |
317 public: | 316 public: |
318 LanguageOrderTableModel(); | 317 LanguageOrderTableModel(); |
319 | 318 |
320 // Set Language List. | 319 // Set Language List. |
321 void SetAcceptLanguagesString(const std::string& language_list); | 320 void SetAcceptLanguagesString(const std::string& language_list); |
322 | 321 |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 layout->AddPaddingRow(0, kUnrelatedControlVerticalSpacing); | 611 layout->AddPaddingRow(0, kUnrelatedControlVerticalSpacing); |
613 | 612 |
614 language_info_label_ = new views::Label( | 613 language_info_label_ = new views::Label( |
615 l10n_util::GetString(IDS_OPTIONS_CHROME_LANGUAGE_INFO)); | 614 l10n_util::GetString(IDS_OPTIONS_CHROME_LANGUAGE_INFO)); |
616 language_info_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); | 615 language_info_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); |
617 ui_language_label_ = new views::Label( | 616 ui_language_label_ = new views::Label( |
618 l10n_util::GetString(IDS_OPTIONS_CHROME_UI_LANGUAGE)); | 617 l10n_util::GetString(IDS_OPTIONS_CHROME_UI_LANGUAGE)); |
619 ui_language_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); | 618 ui_language_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); |
620 ui_language_model_.reset(new LanguageComboboxModel); | 619 ui_language_model_.reset(new LanguageComboboxModel); |
621 change_ui_language_combobox_ = | 620 change_ui_language_combobox_ = |
622 new views::ComboBox(ui_language_model_.get()); | 621 new views::Combobox(ui_language_model_.get()); |
623 change_ui_language_combobox_->SetListener(this); | 622 change_ui_language_combobox_->set_listener(this); |
624 dictionary_language_label_ = new views::Label( | 623 dictionary_language_label_ = new views::Label( |
625 l10n_util::GetString(IDS_OPTIONS_CHROME_DICTIONARY_LANGUAGE)); | 624 l10n_util::GetString(IDS_OPTIONS_CHROME_DICTIONARY_LANGUAGE)); |
626 dictionary_language_label_->SetHorizontalAlignment( | 625 dictionary_language_label_->SetHorizontalAlignment( |
627 views::Label::ALIGN_LEFT); | 626 views::Label::ALIGN_LEFT); |
628 enable_spellchecking_checkbox_ = new views::Checkbox( | 627 enable_spellchecking_checkbox_ = new views::Checkbox( |
629 l10n_util::GetString(IDS_OPTIONS_ENABLE_SPELLCHECK)); | 628 l10n_util::GetString(IDS_OPTIONS_ENABLE_SPELLCHECK)); |
630 enable_spellchecking_checkbox_->set_listener(this); | 629 enable_spellchecking_checkbox_->set_listener(this); |
631 enable_spellchecking_checkbox_->SetMultiLine(true); | 630 enable_spellchecking_checkbox_->SetMultiLine(true); |
632 | 631 |
633 // Determine Locale Codes. | 632 // Determine Locale Codes. |
634 SpellChecker::Languages spell_check_languages; | 633 SpellChecker::Languages spell_check_languages; |
635 SpellChecker::SpellCheckLanguages(&spell_check_languages); | 634 SpellChecker::SpellCheckLanguages(&spell_check_languages); |
636 dictionary_language_model_.reset(new LanguageComboboxModel(profile(), | 635 dictionary_language_model_.reset(new LanguageComboboxModel(profile(), |
637 spell_check_languages)); | 636 spell_check_languages)); |
638 change_dictionary_language_combobox_ = | 637 change_dictionary_language_combobox_ = |
639 new views::ComboBox(dictionary_language_model_.get()); | 638 new views::Combobox(dictionary_language_model_.get()); |
640 change_dictionary_language_combobox_->SetListener(this); | 639 change_dictionary_language_combobox_->set_listener(this); |
641 | 640 |
642 // SpellCheck language settings. | 641 // SpellCheck language settings. |
643 layout->StartRow(0, single_column_view_set_id); | 642 layout->StartRow(0, single_column_view_set_id); |
644 layout->AddView(enable_spellchecking_checkbox_); | 643 layout->AddView(enable_spellchecking_checkbox_); |
645 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); | 644 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); |
646 const int double_column_view_set_2_id = 2; | 645 const int double_column_view_set_2_id = 2; |
647 column_set = layout->AddColumnSet(double_column_view_set_2_id); | 646 column_set = layout->AddColumnSet(double_column_view_set_2_id); |
648 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 0, | 647 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 0, |
649 GridLayout::USE_PREF, 0, 0); | 648 GridLayout::USE_PREF, 0, 0); |
650 column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing); | 649 column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
723 | 722 |
724 change_dictionary_language_combobox_->SetSelectedItem(index); | 723 change_dictionary_language_combobox_->SetSelectedItem(index); |
725 spellcheck_language_index_selected_ = -1; | 724 spellcheck_language_index_selected_ = -1; |
726 } | 725 } |
727 if (!pref_name || *pref_name == prefs::kEnableSpellCheck) { | 726 if (!pref_name || *pref_name == prefs::kEnableSpellCheck) { |
728 enable_spellchecking_checkbox_->SetChecked( | 727 enable_spellchecking_checkbox_->SetChecked( |
729 enable_spellcheck_.GetValue()); | 728 enable_spellcheck_.GetValue()); |
730 } | 729 } |
731 } | 730 } |
732 | 731 |
733 void LanguagesPageView::ItemChanged(views::ComboBox* sender, | 732 void LanguagesPageView::ItemChanged(views::Combobox* sender, |
734 int prev_index, | 733 int prev_index, |
735 int new_index) { | 734 int new_index) { |
736 if (prev_index == new_index) | 735 if (prev_index == new_index) |
737 return; | 736 return; |
738 | 737 |
739 if (sender == change_ui_language_combobox_) { | 738 if (sender == change_ui_language_combobox_) { |
740 if (new_index == starting_ui_language_index_) | 739 if (new_index == starting_ui_language_index_) |
741 ui_language_index_selected_ = -1; | 740 ui_language_index_selected_ = -1; |
742 else | 741 else |
743 ui_language_index_selected_ = new_index; | 742 ui_language_index_selected_ = new_index; |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 if (spellcheck_language_index_selected_ != -1) { | 840 if (spellcheck_language_index_selected_ != -1) { |
842 UserMetricsRecordAction(L"Options_DictionaryLanguage", | 841 UserMetricsRecordAction(L"Options_DictionaryLanguage", |
843 profile()->GetPrefs()); | 842 profile()->GetPrefs()); |
844 dictionary_language_.SetValue(ASCIIToWide(dictionary_language_model_-> | 843 dictionary_language_.SetValue(ASCIIToWide(dictionary_language_model_-> |
845 GetLocaleFromIndex(spellcheck_language_index_selected_))); | 844 GetLocaleFromIndex(spellcheck_language_index_selected_))); |
846 } | 845 } |
847 | 846 |
848 if (enable_spellcheck_checkbox_clicked_) | 847 if (enable_spellcheck_checkbox_clicked_) |
849 enable_spellcheck_.SetValue(enable_spellchecking_checkbox_->checked()); | 848 enable_spellcheck_.SetValue(enable_spellchecking_checkbox_->checked()); |
850 } | 849 } |
OLD | NEW |