Index: chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.cc |
diff --git a/chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.cc b/chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.cc |
index da3db669ef5566466f5128210e5c3ea47d062e88..600f1cc38c884bc2be0135f7c565e8eec941ca60 100644 |
--- a/chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.cc |
+++ b/chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.cc |
@@ -28,10 +28,19 @@ void AfterTranslateInfoBar::InitWidgets() { |
TranslateInfoBarBase::InitWidgets(); |
bool swapped_language_combos = false; |
+ bool translate_with_auto = GetDelegate()->original_language_index() == |
+ TranslateInfoBarDelegate::kNoIndex; |
+ LOG(ERROR) << "translate_with_auto: " << translate_with_auto; |
+ |
std::vector<string16> strings; |
- TranslateInfoBarDelegate::GetAfterTranslateStrings( |
- &strings, &swapped_language_combos); |
- DCHECK(strings.size() == 3U); |
+ if (translate_with_auto) { |
+ TranslateInfoBarDelegate::GetAfterTranslateWithAutoStrings(&strings); |
+ DCHECK(strings.size() == 2U); |
+ } else { |
+ TranslateInfoBarDelegate::GetAfterTranslateStrings( |
+ &strings, &swapped_language_combos); |
+ DCHECK(strings.size() == 3U); |
+ } |
GtkWidget* hbox = gtk_hbox_new(FALSE, ui::kControlSpacing); |
gtk_util::CenterWidgetInHBox(hbox_, hbox, false, 0); |
@@ -40,12 +49,15 @@ void AfterTranslateInfoBar::InitWidgets() { |
size_t target_language_index = GetDelegate()->target_language_index(); |
bool exclude_the_other = original_language_index != target_language_index; |
- GtkWidget* original_lang_combo = CreateLanguageCombobox( |
- original_language_index, |
- exclude_the_other ? target_language_index : |
- TranslateInfoBarDelegate::kNoIndex); |
- Signals()->Connect(original_lang_combo, "changed", |
- G_CALLBACK(&OnOriginalLanguageModifiedThunk), this); |
+ GtkWidget* original_lang_combo = NULL; |
+ if (!translate_with_auto) { |
+ original_lang_combo = CreateLanguageCombobox( |
+ original_language_index, |
+ exclude_the_other ? target_language_index : |
+ TranslateInfoBarDelegate::kNoIndex); |
+ Signals()->Connect(original_lang_combo, "changed", |
+ G_CALLBACK(&OnOriginalLanguageModifiedThunk), this); |
+ } |
GtkWidget* target_lang_combo = CreateLanguageCombobox( |
target_language_index, |
exclude_the_other ? original_language_index : |
@@ -56,17 +68,20 @@ void AfterTranslateInfoBar::InitWidgets() { |
gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[0])), |
FALSE, FALSE, 0); |
gtk_box_pack_start(GTK_BOX(hbox), |
- swapped_language_combos ? target_lang_combo : |
- original_lang_combo, |
+ (swapped_language_combos || |
Evan Stade
2013/05/18 23:48:50
can you keep swapped_language_combos || translate_
Takashi Toyoshima
2013/05/20 06:08:47
Done.
|
+ translate_with_auto) ? target_lang_combo : |
+ original_lang_combo, |
FALSE, FALSE, 0); |
gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[1])), |
FALSE, FALSE, 0); |
- gtk_box_pack_start(GTK_BOX(hbox), |
- swapped_language_combos ? original_lang_combo : |
- target_lang_combo, |
- FALSE, FALSE, 0); |
- gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[2])), |
- FALSE, FALSE, 0); |
+ if (!translate_with_auto) { |
+ gtk_box_pack_start(GTK_BOX(hbox), |
+ swapped_language_combos ? original_lang_combo : |
+ target_lang_combo, |
+ FALSE, FALSE, 0); |
+ gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[2])), |
+ FALSE, FALSE, 0); |
+ } |
GtkWidget* button = gtk_button_new_with_label( |
l10n_util::GetStringUTF8(IDS_TRANSLATE_INFOBAR_REVERT).c_str()); |