diff options
author | sidchat@google.com <sidchat@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-29 18:13:26 +0000 |
---|---|---|
committer | sidchat@google.com <sidchat@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-29 18:13:26 +0000 |
commit | e7244d88820ab2a18760c14f12c4bdb060d72114 (patch) | |
tree | f4ce1cd6be60c8a41a52f0607aa4721238db0f91 /chrome/browser/views | |
parent | 83b7bd304b48a7ec5f3532602c810bff6070e3d2 (diff) | |
download | chromium_src-e7244d88820ab2a18760c14f12c4bdb060d72114.zip chromium_src-e7244d88820ab2a18760c14f12c4bdb060d72114.tar.gz chromium_src-e7244d88820ab2a18760c14f12c4bdb060d72114.tar.bz2 |
Add option to disable/enable Spell Check. In addition, remove additional code in resource message filter, which was initilaizing spellchecker in the filter if it was NULL. This part of the code is not required since the resource message filter should not initialize spellchecker; it is up to the profile to give the spellchecker to the resource message filter.
Issue = 120
Review URL: http://codereview.chromium.org/7935
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4140 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r-- | chrome/browser/views/options/languages_page_view.cc | 29 | ||||
-rw-r--r-- | chrome/browser/views/options/languages_page_view.h | 5 |
2 files changed, 27 insertions, 7 deletions
diff --git a/chrome/browser/views/options/languages_page_view.cc b/chrome/browser/views/options/languages_page_view.cc index 1330027..60735ae 100644 --- a/chrome/browser/views/options/languages_page_view.cc +++ b/chrome/browser/views/options/languages_page_view.cc @@ -480,12 +480,15 @@ LanguagesPageView::LanguagesPageView(Profile* profile) ui_language_label_(NULL), change_ui_language_combobox_(NULL), change_dictionary_language_combobox_(NULL), + enable_spellchecking_checkbox_(NULL), dictionary_language_label_(NULL), OptionsPageView(profile), language_table_edited_(false), spellcheck_language_index_selected_(-1) { accept_languages_.Init(prefs::kAcceptLanguages, profile->GetPrefs(), NULL); + enable_spellcheck_.Init(prefs::kEnableSpellCheck, + profile->GetPrefs(), NULL); } LanguagesPageView::~LanguagesPageView() { @@ -509,6 +512,11 @@ void LanguagesPageView::ButtonPressed(views::NativeButton* sender) { gfx::Rect(), new AddLanguageWindowView(this, profile()))->Show(); language_table_edited_ = true; + } else if (sender == enable_spellchecking_checkbox_) { + if (enable_spellchecking_checkbox_->IsSelected()) + enable_spellcheck_.SetValue(true); + else + enable_spellcheck_.SetValue(false); } } @@ -622,8 +630,12 @@ void LanguagesPageView::InitControlLayout() { dictionary_language_label_ = new views::Label( l10n_util::GetString(IDS_OPTIONS_CHROME_DICTIONARY_LANGUAGE)); dictionary_language_label_->SetHorizontalAlignment( - views::Label::ALIGN_LEFT); - + views::Label::ALIGN_LEFT); + enable_spellchecking_checkbox_ = new views::CheckBox( + l10n_util::GetString(IDS_OPTIONS_ENABLE_SPELLCHECK)); + enable_spellchecking_checkbox_->SetListener(this); + enable_spellchecking_checkbox_->SetMultiLine(true); + layout->StartRow(0, single_column_view_set_id); layout->AddView(language_info_label_); layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); @@ -651,6 +663,10 @@ void LanguagesPageView::InitControlLayout() { layout->AddView(change_ui_language_combobox_); layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); + // SpellChecker settings. + layout->StartRow(0, single_column_view_set_id); + layout->AddView(enable_spellchecking_checkbox_); + layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); layout->StartRow(0, double_column_view_set_2_id); layout->AddView(dictionary_language_label_); layout->AddView(change_dictionary_language_combobox_); @@ -685,6 +701,10 @@ void LanguagesPageView::NotifyPrefChanged(const std::wstring* pref_name) { change_dictionary_language_combobox_->SetSelectedItem(index); spellcheck_language_index_selected_ = -1; } + if (!pref_name || *pref_name == prefs::kEnableSpellCheck) { + enable_spellchecking_checkbox_->SetIsSelected( + enable_spellcheck_.GetValue()); + } } void LanguagesPageView::ItemChanged(views::ComboBox* sender, @@ -756,10 +776,5 @@ void LanguagesPageView::SaveChanges() { profile()->GetPrefs()); dictionary_language_.SetValue(dictionary_language_model_-> GetLocaleFromIndex(spellcheck_language_index_selected_)); - - // Initialize spellchecker. Keeping with the tradition, spellchecker is - // being initialized in this UI thread. However, it must be USED in the IO - // thread. - profile()->InitializeSpellChecker(); } } diff --git a/chrome/browser/views/options/languages_page_view.h b/chrome/browser/views/options/languages_page_view.h index 1cd9552..9f5666d1 100644 --- a/chrome/browser/views/options/languages_page_view.h +++ b/chrome/browser/views/options/languages_page_view.h @@ -13,6 +13,7 @@ #include "chrome/views/view.h" namespace views { +class CheckBox; class Label; class TableModel; class TableView; @@ -76,6 +77,7 @@ class LanguagesPageView : public OptionsPageView, views::Label* ui_language_label_; views::ComboBox* change_ui_language_combobox_; views::ComboBox* change_dictionary_language_combobox_; + views::CheckBox* enable_spellchecking_checkbox_; views::Label* dictionary_language_label_; scoped_ptr<LanguageOrderTableModel> language_order_table_model_; @@ -90,6 +92,9 @@ class LanguagesPageView : public OptionsPageView, scoped_ptr<LanguageComboboxModel> dictionary_language_model_; StringPrefMember dictionary_language_; + // SpellChecker enable pref. + BooleanPrefMember enable_spellcheck_; + // This is assigned the new index of spellcheck language if the language // is changed. Otherwise, it remains -1, and pref members are not updated. int spellcheck_language_index_selected_; |