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

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

Issue 6336005: Remove unused language options code, which has been superseded by DOMUI. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 11 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_config_view.cc
diff --git a/chrome/browser/chromeos/options/language_config_view.cc b/chrome/browser/chromeos/options/language_config_view.cc
deleted file mode 100644
index 5198ef92d346883e2eeb593bef1dec34c7478a1b..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/options/language_config_view.cc
+++ /dev/null
@@ -1,631 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/chromeos/options/language_config_view.h"
-
-#include <algorithm>
-
-#include "app/l10n_util.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/input_method/input_method_util.h"
-#include "chrome/browser/chromeos/options/language_chewing_config_view.h"
-#include "chrome/browser/chromeos/options/language_hangul_config_view.h"
-#include "chrome/browser/chromeos/options/language_mozc_config_view.h"
-#include "chrome/browser/chromeos/options/language_pinyin_config_view.h"
-#include "chrome/browser/chromeos/options/options_window_view.h"
-#include "chrome/browser/chromeos/preferences.h"
-#include "chrome/browser/metrics/user_metrics.h"
-#include "chrome/browser/prefs/pref_service.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/views/restart_message_box.h"
-#include "chrome/browser/ui/views/window.h"
-#include "chrome/common/notification_type.h"
-#include "chrome/common/pref_names.h"
-#include "gfx/font.h"
-#include "grit/chromium_strings.h"
-#include "grit/generated_resources.h"
-#include "grit/locale_settings.h"
-#include "views/controls/button/checkbox.h"
-#include "views/controls/label.h"
-#include "views/fill_layout.h"
-#include "views/standard_layout.h"
-#include "views/window/window.h"
-
-namespace chromeos {
-using views::ColumnSet;
-using views::GridLayout;
-
-namespace {
-
-// The width of the preferred language table shown on the left side.
-const int kPreferredLanguageTableWidth = 300;
-
-// Creates the LanguageHangulConfigView. The function is used to create
-// the object via a function pointer. See also InitInputMethodConfigViewMap().
-views::DialogDelegate* CreateLanguageChewingConfigView(Profile* profile) {
- return new LanguageChewingConfigView(profile);
-}
-views::DialogDelegate* CreateLanguageHangulConfigView(Profile* profile) {
- return new LanguageHangulConfigView(profile);
-}
-views::DialogDelegate* CreateLanguagePinyinConfigView(Profile* profile) {
- return new LanguagePinyinConfigView(profile);
-}
-views::DialogDelegate* CreateLanguageMozcConfigView(Profile* profile) {
- return new LanguageMozcConfigView(profile);
-}
-
-// The tags are used to identify buttons in ButtonPressed().
-enum ButtonTag {
- kChangeUiLanguageButton,
- kConfigureInputMethodButton,
- kRemoveLanguageButton,
- kSelectInputMethodButton,
-};
-
-// The column set IDs are used for creating the per-language config view.
-const int kPerLanguageTitleColumnSetId = 1;
-const int kPerLanguageDoubleColumnSetId = 2;
-const int kPerLanguageSingleColumnSetId = 3;
-
-} // namespace
-
-// This is a native button associated with input method information.
-class InputMethodButton : public views::NativeButton {
- public:
- InputMethodButton(views::ButtonListener* listener,
- const std::wstring& label,
- const std::string& input_method_id)
- : views::NativeButton(listener, label),
- input_method_id_(input_method_id) {
- }
-
- const std::string& input_method_id() const {
- return input_method_id_;
- }
-
- private:
- std::string input_method_id_;
- DISALLOW_COPY_AND_ASSIGN(InputMethodButton);
-};
-
-// This is a native button associated with UI language information.
-class UiLanguageButton : public views::NativeButton {
- public:
- UiLanguageButton(views::ButtonListener* listener,
- const std::wstring& label,
- const std::string& language_code)
- : views::NativeButton(listener, label),
- language_code_(language_code) {
- }
-
- const std::string& language_code() const {
- return language_code_;
- }
-
- private:
- std::string language_code_;
- DISALLOW_COPY_AND_ASSIGN(UiLanguageButton);
-};
-
-// This is a checkbox button associated with input method information.
-class InputMethodCheckbox : public views::Checkbox {
- public:
- InputMethodCheckbox(const std::wstring& display_name,
- const std::string& input_method_id)
- : views::Checkbox(display_name),
- input_method_id_(input_method_id) {
- }
-
- const std::string& input_method_id() const {
- return input_method_id_;
- }
-
- private:
- std::string input_method_id_;
- DISALLOW_COPY_AND_ASSIGN(InputMethodCheckbox);
-};
-
-LanguageConfigView::LanguageConfigView(Profile* profile)
- : OptionsPageView(profile),
- model_(profile->GetPrefs()),
- root_container_(NULL),
- right_container_(NULL),
- remove_language_button_(NULL),
- preferred_language_table_(NULL) {
-}
-
-LanguageConfigView::~LanguageConfigView() {
-}
-
-void LanguageConfigView::ButtonPressed(
- views::Button* sender, const views::Event& event) {
- if (sender->tag() == kRemoveLanguageButton) {
- OnRemoveLanguage();
- } else if (sender->tag() == kSelectInputMethodButton) {
- InputMethodCheckbox* checkbox =
- static_cast<InputMethodCheckbox*>(sender);
- const std::string& input_method_id = checkbox->input_method_id();
- model_.SetInputMethodActivated(input_method_id, checkbox->checked());
- if (checkbox->checked()) {
- EnableAllCheckboxes();
- } else {
- MaybeDisableLastCheckbox();
- }
- } else if (sender->tag() == kConfigureInputMethodButton) {
- InputMethodButton* button = static_cast<InputMethodButton*>(sender);
- views::DialogDelegate* config_view =
- CreateInputMethodConfigureView(button->input_method_id());
- if (!config_view) {
- DLOG(FATAL) << "Config view not found: " << button->input_method_id();
- return;
- }
- views::Window* window = browser::CreateViewsWindow(
- GetOptionsViewParent(), gfx::Rect(), config_view);
- window->SetIsAlwaysOnTop(true);
- window->Show();
- } else if (sender->tag() == kChangeUiLanguageButton) {
- UiLanguageButton* button = static_cast<UiLanguageButton*>(sender);
- PrefService* prefs = g_browser_process->local_state();
- if (prefs) {
- prefs->SetString(prefs::kApplicationLocale, button->language_code());
- prefs->SavePersistentPrefs();
- RestartMessageBox::ShowMessageBox(GetWindow()->GetNativeWindow());
- }
- }
-}
-
-std::wstring LanguageConfigView::GetDialogButtonLabel(
- MessageBoxFlags::DialogButton button) const {
- if (button == MessageBoxFlags::DIALOGBUTTON_OK) {
- return UTF16ToWide(l10n_util::GetStringUTF16(IDS_DONE));
- }
- return L"";
-}
-
-std::wstring LanguageConfigView::GetWindowTitle() const {
- return UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_SETTINGS_LANGUAGES_DIALOG_TITLE));
-}
-
-void LanguageConfigView::Layout() {
- // Not sure why but this is needed to show contents in the dialog.
- root_container_->SetBounds(0, 0, width(), height());
-}
-
-gfx::Size LanguageConfigView::GetPreferredSize() {
- return gfx::Size(views::Window::GetLocalizedContentsSize(
- IDS_LANGUAGES_INPUT_DIALOG_WIDTH_CHARS,
- IDS_LANGUAGES_INPUT_DIALOG_HEIGHT_LINES));
-}
-
-void LanguageConfigView::OnSelectionChanged() {
- right_container_->RemoveAllChildViews(true); // Delete the child views.
-
- const int row = preferred_language_table_->GetFirstSelectedRow();
- const std::string& language_code = model_.preferred_language_code_at(row);
-
- // Count the number of all active input methods.
- std::vector<std::string> active_input_method_ids;
- model_.GetActiveInputMethodIds(&active_input_method_ids);
- const int num_all_active_input_methods = active_input_method_ids.size();
-
- // Count the number of active input methods for the selected language.
- int num_selected_active_input_methods =
- model_.CountNumActiveInputMethods(language_code);
-
- bool remove_button_enabled = false;
- // Allow removing the language only if the following conditions are met:
- // 1. There are more than one language.
- // 2. The languge in the current row is not set to the display language.
- // 3. Removing the selected language does not result in "zero input method".
- if (preferred_language_table_->GetRowCount() > 1 &&
- language_code != g_browser_process->GetApplicationLocale() &&
- num_all_active_input_methods > num_selected_active_input_methods) {
- remove_button_enabled = true;
- }
- remove_language_button_->SetEnabled(remove_button_enabled);
-
- // Add the per language config view to the right area.
- right_container_->AddChildView(CreatePerLanguageConfigView(language_code));
- MaybeDisableLastCheckbox();
- // Layout the right container. This is needed for the contents on the
- // right to be displayed properly.
- right_container_->Layout();
-}
-
-string16 LanguageConfigView::GetText(int row, int column_id) {
- if (row >= 0 && row < static_cast<int>(
- model_.num_preferred_language_codes())) {
- return input_method::GetLanguageDisplayNameFromCode(
- model_.preferred_language_code_at(row));
- }
- NOTREACHED();
- return string16();
-}
-
-void LanguageConfigView::SetObserver(ui::TableModelObserver* observer) {
- // We don't need the observer for the table mode, since we implement the
- // table model as part of the LanguageConfigView class.
- // http://crbug.com/38266
-}
-
-int LanguageConfigView::RowCount() {
- // Returns the number of rows of the language table.
- return model_.num_preferred_language_codes();
-}
-
-void LanguageConfigView::ItemChanged(views::Combobox* combobox,
- int prev_index,
- int new_index) {
- // Ignore the first item used for showing "Add language".
- if (new_index <= 0) {
- return;
- }
- // Get the language selected.
- std::string language_selected = add_language_combobox_model_->
- GetLocaleFromIndex(
- add_language_combobox_model_->GetLanguageIndex(new_index));
- OnAddLanguage(language_selected);
-}
-
-void LanguageConfigView::InitControlLayout() {
- // Initialize the map.
- InitInputMethodConfigViewMap();
-
- root_container_ = new views::View;
- AddChildView(root_container_);
-
- // Set up the layout manager for the root container. We'll place the
- // language table on the left, and the per language config on the right.
- GridLayout* root_layout = new GridLayout(root_container_);
- root_container_->SetLayoutManager(root_layout);
- root_layout->SetInsets(kPanelVertMargin, kPanelHorizMargin,
- kPanelVertMargin, kPanelHorizMargin);
-
- // Set up column sets for the grid layout.
- const int kMainColumnSetId = 0;
- ColumnSet* column_set = root_layout->AddColumnSet(kMainColumnSetId);
- column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 0,
- GridLayout::FIXED, kPreferredLanguageTableWidth, 0);
- column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing);
- column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1.0,
- GridLayout::USE_PREF, 0, 0);
- const int kBottomColumnSetId = 1;
- column_set = root_layout->AddColumnSet(kBottomColumnSetId);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
- GridLayout::USE_PREF, 0, 0);
-
- // Set up the container for the contents on the right. Just adds a
- // place holder here. This will get replaced in OnSelectionChanged().
- right_container_ = new views::View;
- right_container_->SetLayoutManager(new views::FillLayout);
- right_container_->AddChildView(new views::View);
-
- // Add the contents on the left and the right.
- root_layout->StartRow(1 /* expand */, kMainColumnSetId);
- root_layout->AddView(CreateContentsOnLeft());
- root_layout->AddView(right_container_);
-
- // Add the contents on the bottom.
- root_layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
- root_layout->StartRow(0, kBottomColumnSetId);
- root_layout->AddView(CreateContentsOnBottom());
-
- // Select the first row in the language table.
- // There should be at least one language in the table, but we check it
- // here so this won't result in crash in case there is no row in the table.
- if (model_.num_preferred_language_codes() > 0) {
- preferred_language_table_->SelectRow(0);
- }
-}
-
-void LanguageConfigView::Show(Profile* profile, gfx::NativeWindow parent) {
- UserMetrics::RecordAction(UserMetricsAction("LanguageConfigView_Open"));
- views::Window* window = browser::CreateViewsWindow(
- parent, gfx::Rect(), new LanguageConfigView(profile));
- window->SetIsAlwaysOnTop(true);
- window->Show();
-}
-
-void LanguageConfigView::InitInputMethodConfigViewMap() {
- input_method_config_view_map_["chewing"] = CreateLanguageChewingConfigView;
- input_method_config_view_map_["hangul"] = CreateLanguageHangulConfigView;
- input_method_config_view_map_["mozc"] = CreateLanguageMozcConfigView;
- input_method_config_view_map_["mozc-dv"] = CreateLanguageMozcConfigView;
- input_method_config_view_map_["mozc-jp"] = CreateLanguageMozcConfigView;
- input_method_config_view_map_["pinyin"] = CreateLanguagePinyinConfigView;
-}
-
-void LanguageConfigView::OnAddLanguage(const std::string& language_code) {
- // Skip if the language is already in the preferred_language_codes_.
- if (model_.HasLanguageCode(language_code)) {
- return;
- }
- // Activate the first input language associated with the language. We have
- // to call this before the OnItemsAdded() call below so the checkbox
- // for the first input language gets checked.
- std::vector<std::string> input_method_ids;
- model_.GetInputMethodIdsFromLanguageCode(language_code, &input_method_ids);
- if (!input_method_ids.empty()) {
- model_.SetInputMethodActivated(input_method_ids[0], true);
- }
-
- // Append the language to the list of language codes.
- const int added_at = model_.AddLanguageCode(language_code);
- // Notify the table that the new row added at |added_at|.
- preferred_language_table_->OnItemsAdded(added_at, 1);
- // For some reason, OnItemsAdded() alone does not redraw the table. Need
- // to tell the table that items are changed. TODO(satorux): Investigate
- // if it's a bug in TableView2.
- preferred_language_table_->OnItemsChanged(
- 0, model_.num_preferred_language_codes());
- // Switch to the row added.
- preferred_language_table_->SelectRow(added_at);
-
- // Mark the language to be ignored.
- add_language_combobox_model_->SetIgnored(language_code, true);
- ResetAddLanguageCombobox();
-}
-
-void LanguageConfigView::OnRemoveLanguage() {
- const int row = preferred_language_table_->GetFirstSelectedRow();
- const std::string& language_code = model_.preferred_language_code_at(row);
- // Mark the language not to be ignored.
- add_language_combobox_model_->SetIgnored(language_code, false);
- ResetAddLanguageCombobox();
- // Deactivate the associated input methods.
- model_.DeactivateInputMethodsFor(language_code);
- // Remove the language code and the row from the table.
- model_.RemoveLanguageAt(row);
- preferred_language_table_->OnItemsRemoved(row, 1);
- // Switch to the previous row, or the first row.
- // There should be at least one row in the table.
- preferred_language_table_->SelectRow(std::max(row - 1, 0));
-}
-
-void LanguageConfigView::ResetAddLanguageCombobox() {
- // -1 to ignore "Add language". If there are more than one language,
- // enable the combobox. Otherwise, disable it.
- if (add_language_combobox_model_->GetItemCount() - 1 > 0) {
- add_language_combobox_->SetEnabled(true);
- } else {
- add_language_combobox_->SetEnabled(false);
- }
- // Go back to the initial "Add language" state.
- add_language_combobox_->ModelChanged();
- add_language_combobox_->SetSelectedItem(0);
-}
-
-views::View* LanguageConfigView::CreateContentsOnLeft() {
- views::View* contents = new views::View;
- GridLayout* layout = new GridLayout(contents);
- contents->SetLayoutManager(layout);
-
- // Set up column sets for the grid layout.
- const int kTableColumnSetId = 0;
- ColumnSet* column_set = layout->AddColumnSet(kTableColumnSetId);
- column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, 1,
- GridLayout::USE_PREF, 0, 0);
-
- // Create the language table.
- std::vector<TableColumn> columns;
- TableColumn column(0,
- l10n_util::GetStringUTF16(
- IDS_OPTIONS_SETTINGS_LANGUAGES_LANGUAGES),
- TableColumn::LEFT, -1, 0);
- columns.push_back(column);
- // We don't show horizontal and vertical lines.
- const int options = (views::TableView2::SINGLE_SELECTION |
- views::TableView2::RESIZABLE_COLUMNS |
- views::TableView2::AUTOSIZE_COLUMNS);
- preferred_language_table_ =
- new views::TableView2(this, columns, views::TEXT_ONLY, options);
- // Set the observer so OnSelectionChanged() will be invoked when a
- // selection is changed in the table.
- preferred_language_table_->SetObserver(this);
-
- // Add the language table.
- layout->StartRow(1 /* expand vertically */, kTableColumnSetId);
- layout->AddView(preferred_language_table_);
-
- return contents;
-}
-
-views::View* LanguageConfigView::CreateContentsOnBottom() {
- views::View* contents = new views::View;
- GridLayout* layout = new GridLayout(contents);
- contents->SetLayoutManager(layout);
-
- // Set up column sets for the grid layout.
- const int kButtonsColumnSetId = 0;
- ColumnSet* column_set = layout->AddColumnSet(kButtonsColumnSetId);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, 0,
- GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, 0,
- GridLayout::USE_PREF, 0, 0);
-
- // Create the add language combobox model_.
- // LanguageComboboxModel sorts languages by their display names.
- add_language_combobox_model_.reset(
- new AddLanguageComboboxModel(NULL, model_.supported_language_codes()));
- // Mark the existing preferred languages to be ignored.
- for (size_t i = 0; i < model_.num_preferred_language_codes(); ++i) {
- add_language_combobox_model_->SetIgnored(
- model_.preferred_language_code_at(i),
- true);
- }
- // Create the add language combobox.
- add_language_combobox_
- = new views::Combobox(add_language_combobox_model_.get());
- add_language_combobox_->set_listener(this);
- ResetAddLanguageCombobox();
-
- // Create the remove button.
- remove_language_button_ = new views::NativeButton(
- this, UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_SETTINGS_LANGUAGES_REMOVE_BUTTON)));
- remove_language_button_->set_tag(kRemoveLanguageButton);
-
- // Add the add and remove buttons.
- layout->StartRow(0, kButtonsColumnSetId);
- layout->AddView(add_language_combobox_);
- layout->AddView(remove_language_button_);
-
- return contents;
-}
-
-views::View* LanguageConfigView::CreatePerLanguageConfigView(
- const std::string& target_language_code) {
- views::View* contents = new views::View;
- GridLayout* layout = new GridLayout(contents);
- contents->SetLayoutManager(layout);
-
- // Set up column sets for the grid layout.
- ColumnSet* column_set = layout->AddColumnSet(kPerLanguageTitleColumnSetId);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
- GridLayout::USE_PREF, 0, 0);
-
- column_set = layout->AddColumnSet(kPerLanguageDoubleColumnSetId);
- column_set->AddPaddingColumn(0, kUnrelatedControlHorizontalSpacing);
- 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,
- GridLayout::USE_PREF, 0, 0);
-
- column_set = layout->AddColumnSet(kPerLanguageSingleColumnSetId);
- column_set->AddPaddingColumn(0, kUnrelatedControlHorizontalSpacing);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
- GridLayout::USE_PREF, 0, 0);
-
- AddUiLanguageSection(target_language_code, layout);
- layout->AddPaddingRow(0, kUnrelatedControlVerticalSpacing);
- AddInputMethodSection(target_language_code, layout);
-
- return contents;
-}
-
-void LanguageConfigView::AddUiLanguageSection(const std::string& language_code,
- views::GridLayout* layout) {
- // Create the language name label.
- const std::string application_locale =
- g_browser_process->GetApplicationLocale();
- const string16 language_name16 = l10n_util::GetDisplayNameForLocale(
- language_code, application_locale, true);
- const std::wstring language_name = UTF16ToWide(language_name16);
- views::Label* language_name_label = new views::Label(language_name);
- language_name_label->SetFont(
- language_name_label->font().DeriveFont(0, gfx::Font::BOLD));
-
- // Add the language name label.
- layout->StartRow(0, kPerLanguageTitleColumnSetId);
- layout->AddView(language_name_label);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
-
- layout->StartRow(0, kPerLanguageSingleColumnSetId);
- if (application_locale == language_code) {
- layout->AddView(
- new views::Label(
- UTF16ToWide(l10n_util::GetStringFUTF16(
- IDS_OPTIONS_SETTINGS_LANGUAGES_IS_DISPLAYED_IN_THIS_LANGUAGE,
- l10n_util::GetStringUTF16(IDS_PRODUCT_OS_NAME)))));
- } else {
- UiLanguageButton* button = new UiLanguageButton(
- this, UTF16ToWide(l10n_util::GetStringFUTF16(
- IDS_OPTIONS_SETTINGS_LANGUAGES_DISPLAY_IN_THIS_LANGUAGE,
- l10n_util::GetStringUTF16(IDS_PRODUCT_OS_NAME))),
- language_code);
- button->set_tag(kChangeUiLanguageButton);
- layout->AddView(button);
- }
-}
-
-void LanguageConfigView::AddInputMethodSection(
- const std::string& language_code,
- views::GridLayout* layout) {
- // Create the input method title label.
- views::Label* input_method_title_label = new views::Label(
- UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_SETTINGS_LANGUAGES_INPUT_METHOD)));
- input_method_title_label->SetFont(
- input_method_title_label->font().DeriveFont(0, gfx::Font::BOLD));
-
- // Add the input method title label.
- layout->StartRow(0, kPerLanguageTitleColumnSetId);
- layout->AddView(input_method_title_label);
- layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
-
- // Add input method names and configuration buttons.
- input_method_checkboxes_.clear();
-
- // Get the list of input method ids associated with the language code.
- std::vector<std::string> input_method_ids;
- model_.GetInputMethodIdsFromLanguageCode(language_code, &input_method_ids);
-
- for (size_t i = 0; i < input_method_ids.size(); ++i) {
- const std::string& input_method_id = input_method_ids[i];
- const std::string display_name =
- input_method::GetInputMethodDisplayNameFromId(input_method_id);
- layout->StartRow(0, kPerLanguageDoubleColumnSetId);
- InputMethodCheckbox* checkbox
- = new InputMethodCheckbox(UTF8ToWide(display_name),
- input_method_id);
- checkbox->set_listener(this);
- checkbox->set_tag(kSelectInputMethodButton);
- if (model_.InputMethodIsActivated(input_method_id)) {
- checkbox->SetChecked(true);
- }
-
- layout->AddView(checkbox);
- input_method_checkboxes_.insert(checkbox);
- // Add "configure" button for the input method if we have a
- // configuration dialog for it.
- if (input_method_config_view_map_.count(input_method_id) > 0) {
- InputMethodButton* button = new InputMethodButton(
- this,
- UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_SETTINGS_LANGUAGES_CONFIGURE)),
- input_method_id);
- button->set_tag(kConfigureInputMethodButton);
- layout->AddView(button);
- }
- }
-}
-
-views::DialogDelegate* LanguageConfigView::CreateInputMethodConfigureView(
- const std::string& input_method_id) {
- InputMethodConfigViewMap::const_iterator iter =
- input_method_config_view_map_.find(input_method_id);
- if (iter != input_method_config_view_map_.end()) {
- CreateDialogDelegateFunction function = iter->second;
- return function(profile());
- }
- return NULL;
-}
-
-void LanguageConfigView::MaybeDisableLastCheckbox() {
- std::vector<std::string> input_method_ids;
- model_.GetActiveInputMethodIds(&input_method_ids);
- if (input_method_ids.size() <= 1) {
- for (std::set<InputMethodCheckbox*>::iterator checkbox =
- input_method_checkboxes_.begin();
- checkbox != input_method_checkboxes_.end(); ++checkbox) {
- if ((*checkbox)->checked())
- (*checkbox)->SetEnabled(false);
- }
- }
-}
-
-void LanguageConfigView::EnableAllCheckboxes() {
- for (std::set<InputMethodCheckbox*>::iterator checkbox =
- input_method_checkboxes_.begin();
- checkbox != input_method_checkboxes_.end(); ++checkbox) {
- (*checkbox)->SetEnabled(true);
- }
-}
-
-} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/options/language_config_view.h ('k') | chrome/browser/chromeos/options/language_hangul_config_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698