summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views
diff options
context:
space:
mode:
authorsidchat@google.com <sidchat@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-29 18:13:26 +0000
committersidchat@google.com <sidchat@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-10-29 18:13:26 +0000
commite7244d88820ab2a18760c14f12c4bdb060d72114 (patch)
treef4ce1cd6be60c8a41a52f0607aa4721238db0f91 /chrome/browser/views
parent83b7bd304b48a7ec5f3532602c810bff6070e3d2 (diff)
downloadchromium_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.cc29
-rw-r--r--chrome/browser/views/options/languages_page_view.h5
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_;