| Index: chrome/browser/ui/views/translate/translate_bubble_view.cc
|
| diff --git a/chrome/browser/ui/views/translate/translate_bubble_view.cc b/chrome/browser/ui/views/translate/translate_bubble_view.cc
|
| index b72959369e3761ce6b56130fe1514920109f715d..a22b4dadd9e599a90fbf497cde8afdb99e5c8592 100644
|
| --- a/chrome/browser/ui/views/translate/translate_bubble_view.cc
|
| +++ b/chrome/browser/ui/views/translate/translate_bubble_view.cc
|
| @@ -27,6 +27,7 @@
|
| #include "grit/generated_resources.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/models/combobox_model.h"
|
| +#include "ui/base/models/simple_combobox_model.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/views/controls/button/checkbox.h"
|
| #include "ui/views/controls/button/label_button.h"
|
| @@ -40,6 +41,12 @@
|
|
|
| namespace {
|
|
|
| +enum DenialComboboxIndexes {
|
| + INDEX_NOPE = 0,
|
| + INDEX_NEVER_TRANSLATE_LANGUAGE = 2,
|
| + INDEX_NEVER_TRANSLATE_SITE = 4,
|
| +};
|
| +
|
| views::LabelButton* CreateLabelButton(views::ButtonListener* listener,
|
| const base::string16& label,
|
| int id) {
|
| @@ -59,47 +66,6 @@ views::Link* CreateLink(views::LinkListener* listener,
|
| return link;
|
| }
|
|
|
| -class TranslateDenialComboboxModel : public ui::ComboboxModel {
|
| - public:
|
| - enum {
|
| - INDEX_NOPE = 0,
|
| - INDEX_NEVER_TRANSLATE_LANGUAGE = 2,
|
| - INDEX_NEVER_TRANSLATE_SITE = 4,
|
| - };
|
| -
|
| - explicit TranslateDenialComboboxModel(
|
| - const base::string16& original_language_name) {
|
| - items_.push_back(l10n_util::GetStringUTF16(IDS_TRANSLATE_BUBBLE_DENY));
|
| - items_.push_back(base::string16());
|
| - items_.push_back(l10n_util::GetStringFUTF16(
|
| - IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_LANG,
|
| - original_language_name));
|
| - items_.push_back(base::string16());
|
| - items_.push_back(l10n_util::GetStringUTF16(
|
| - IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_SITE));
|
| - }
|
| - virtual ~TranslateDenialComboboxModel() {}
|
| -
|
| - private:
|
| - // Overridden from ui::ComboboxModel:
|
| - virtual int GetItemCount() const OVERRIDE {
|
| - return items_.size();
|
| - }
|
| - virtual base::string16 GetItemAt(int index) OVERRIDE {
|
| - return items_[index];
|
| - }
|
| - virtual bool IsItemSeparatorAt(int index) OVERRIDE {
|
| - return items_[index].empty();
|
| - }
|
| - virtual int GetDefaultIndex() const OVERRIDE {
|
| - return 0;
|
| - }
|
| -
|
| - std::vector<base::string16> items_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TranslateDenialComboboxModel);
|
| -};
|
| -
|
| } // namespace
|
|
|
| // static
|
| @@ -395,12 +361,12 @@ void TranslateBubbleView::HandleComboboxPerformAction(
|
| denial_button_clicked_ = true;
|
| int index = denial_combobox_->selected_index();
|
| switch (index) {
|
| - case TranslateDenialComboboxModel::INDEX_NOPE:
|
| + case INDEX_NOPE:
|
| break;
|
| - case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_LANGUAGE:
|
| + case INDEX_NEVER_TRANSLATE_LANGUAGE:
|
| model_->SetNeverTranslateLanguage(true);
|
| break;
|
| - case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_SITE:
|
| + case INDEX_NEVER_TRANSLATE_SITE:
|
| model_->SetNeverTranslateSite(true);
|
| break;
|
| default:
|
| @@ -446,8 +412,19 @@ views::View* TranslateBubbleView::CreateViewBeforeTranslate() {
|
|
|
| base::string16 original_language_name =
|
| model_->GetLanguageNameAt(model_->GetOriginalLanguageIndex());
|
| - denial_combobox_ = new views::Combobox(
|
| - new TranslateDenialComboboxModel(original_language_name));
|
| +
|
| + std::vector<base::string16> items;
|
| + items.push_back(l10n_util::GetStringUTF16(IDS_TRANSLATE_BUBBLE_DENY));
|
| + items.push_back(base::string16());
|
| + items.push_back(l10n_util::GetStringFUTF16(
|
| + IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_LANG,
|
| + original_language_name));
|
| + items.push_back(base::string16());
|
| + items.push_back(l10n_util::GetStringUTF16(
|
| + IDS_TRANSLATE_BUBBLE_NEVER_TRANSLATE_SITE));
|
| +
|
| + denial_combobox_model_.reset(new ui::SimpleComboboxModel(items));
|
| + denial_combobox_ = new views::Combobox(denial_combobox_model_.get());
|
| denial_combobox_->set_id(COMBOBOX_ID_DENIAL);
|
| denial_combobox_->set_listener(this);
|
| denial_combobox_->SetStyle(views::Combobox::STYLE_ACTION);
|
|
|