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

Unified Diff: chrome/browser/ui/views/translate/translate_bubble_view.cc

Issue 59383003: Add the button style for combobox (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: warnings Created 7 years 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/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 d7abc93b74bf54da6fb0a85375abfe63654d06ee..2014da059f78113461618538511a3d2d761d9205 100644
--- a/chrome/browser/ui/views/translate/translate_bubble_view.cc
+++ b/chrome/browser/ui/views/translate/translate_bubble_view.cc
@@ -81,8 +81,6 @@ void GetTranslateLanguages(content::WebContents* web_contents,
*target = TranslateManager::GetTargetLanguage(prefs);
}
-// TODO(hajimehoshi): The interface to offer denial choices should be another
-// control instead of Combobox. See crbug/305494.
class TranslateDenialComboboxModel : public ui::ComboboxModel {
public:
enum {
@@ -282,6 +280,32 @@ void TranslateBubbleView::OnSelectedIndexChanged(views::Combobox* combobox) {
HandleComboboxSelectedIndexChanged(static_cast<ComboboxID>(combobox->id()));
}
+void TranslateBubbleView::OnComboboxTextButtonClicked(
+ views::Combobox* combobox) {
+ if (combobox != denial_combobox_)
+ return;
+
+ int index = combobox->selected_index();
+ switch (index) {
+ case TranslateDenialComboboxModel::INDEX_NOPE:
+ if (!translate_executed_)
+ model_->TranslationDeclined();
+ StartFade(false);
+ break;
+ case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_LANGUAGE:
+ model_->SetNeverTranslateLanguage(true);
+ StartFade(false);
+ break;
+ case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_SITE:
+ model_->SetNeverTranslateSite(true);
+ StartFade(false);
+ break;
+ default:
+ NOTREACHED();
+ break;
+ }
+}
+
void TranslateBubbleView::LinkClicked(views::Link* source, int event_flags) {
HandleLinkClicked(static_cast<LinkID>(source->id()));
}
@@ -416,25 +440,7 @@ void TranslateBubbleView::HandleComboboxSelectedIndexChanged(
TranslateBubbleView::ComboboxID sender_id) {
switch (sender_id) {
case COMBOBOX_ID_DENIAL: {
- int index = denial_combobox_->selected_index();
- switch (index) {
- case TranslateDenialComboboxModel::INDEX_NOPE:
- if (!translate_executed_)
- model_->TranslationDeclined();
- StartFade(false);
- break;
- case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_LANGUAGE:
- model_->SetNeverTranslateLanguage(true);
- StartFade(false);
- break;
- case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_SITE:
- model_->SetNeverTranslateSite(true);
- StartFade(false);
- break;
- default:
- NOTREACHED();
- break;
- }
+ // do nothing
break;
}
case COMBOBOX_ID_SOURCE_LANGUAGE: {
@@ -477,6 +483,7 @@ views::View* TranslateBubbleView::CreateViewBeforeTranslate() {
new TranslateDenialComboboxModel(original_language_name));
denial_combobox_->set_id(COMBOBOX_ID_DENIAL);
denial_combobox_->set_listener(this);
+ denial_combobox_->SetStyle(views::Combobox::STYLE_NOTIFY_ON_CLICK);
views::View* view = new views::View();
views::GridLayout* layout = new views::GridLayout(view);

Powered by Google App Engine
This is Rietveld 408576698