Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.h" | 5 #include "chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/browser/translate/translate_infobar_delegate.h" | 10 #include "chrome/browser/translate/translate_infobar_delegate.h" |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 21 weak_factory_(this) { | 21 weak_factory_(this) { |
| 22 } | 22 } |
| 23 | 23 |
| 24 AfterTranslateInfoBar::~AfterTranslateInfoBar() { | 24 AfterTranslateInfoBar::~AfterTranslateInfoBar() { |
| 25 } | 25 } |
| 26 | 26 |
| 27 void AfterTranslateInfoBar::InitWidgets() { | 27 void AfterTranslateInfoBar::InitWidgets() { |
| 28 TranslateInfoBarBase::InitWidgets(); | 28 TranslateInfoBarBase::InitWidgets(); |
| 29 | 29 |
| 30 bool swapped_language_combos = false; | 30 bool swapped_language_combos = false; |
| 31 bool translate_with_auto = GetDelegate()->original_language_index() == | |
| 32 TranslateInfoBarDelegate::kNoIndex; | |
| 33 LOG(ERROR) << "translate_with_auto: " << translate_with_auto; | |
| 34 | |
| 31 std::vector<string16> strings; | 35 std::vector<string16> strings; |
| 32 TranslateInfoBarDelegate::GetAfterTranslateStrings( | 36 if (translate_with_auto) { |
| 33 &strings, &swapped_language_combos); | 37 TranslateInfoBarDelegate::GetAfterTranslateWithAutoStrings(&strings); |
| 34 DCHECK(strings.size() == 3U); | 38 DCHECK(strings.size() == 2U); |
| 39 } else { | |
| 40 TranslateInfoBarDelegate::GetAfterTranslateStrings( | |
| 41 &strings, &swapped_language_combos); | |
| 42 DCHECK(strings.size() == 3U); | |
| 43 } | |
| 35 | 44 |
| 36 GtkWidget* hbox = gtk_hbox_new(FALSE, ui::kControlSpacing); | 45 GtkWidget* hbox = gtk_hbox_new(FALSE, ui::kControlSpacing); |
| 37 gtk_util::CenterWidgetInHBox(hbox_, hbox, false, 0); | 46 gtk_util::CenterWidgetInHBox(hbox_, hbox, false, 0); |
| 38 | 47 |
| 39 size_t original_language_index = GetDelegate()->original_language_index(); | 48 size_t original_language_index = GetDelegate()->original_language_index(); |
| 40 size_t target_language_index = GetDelegate()->target_language_index(); | 49 size_t target_language_index = GetDelegate()->target_language_index(); |
| 41 bool exclude_the_other = original_language_index != target_language_index; | 50 bool exclude_the_other = original_language_index != target_language_index; |
| 42 | 51 |
| 43 GtkWidget* original_lang_combo = CreateLanguageCombobox( | 52 GtkWidget* original_lang_combo = NULL; |
| 44 original_language_index, | 53 if (!translate_with_auto) { |
| 45 exclude_the_other ? target_language_index : | 54 original_lang_combo = CreateLanguageCombobox( |
| 46 TranslateInfoBarDelegate::kNoIndex); | 55 original_language_index, |
| 47 Signals()->Connect(original_lang_combo, "changed", | 56 exclude_the_other ? target_language_index : |
| 48 G_CALLBACK(&OnOriginalLanguageModifiedThunk), this); | 57 TranslateInfoBarDelegate::kNoIndex); |
| 58 Signals()->Connect(original_lang_combo, "changed", | |
| 59 G_CALLBACK(&OnOriginalLanguageModifiedThunk), this); | |
| 60 } | |
| 49 GtkWidget* target_lang_combo = CreateLanguageCombobox( | 61 GtkWidget* target_lang_combo = CreateLanguageCombobox( |
| 50 target_language_index, | 62 target_language_index, |
| 51 exclude_the_other ? original_language_index : | 63 exclude_the_other ? original_language_index : |
| 52 TranslateInfoBarDelegate::kNoIndex); | 64 TranslateInfoBarDelegate::kNoIndex); |
| 53 Signals()->Connect(target_lang_combo, "changed", | 65 Signals()->Connect(target_lang_combo, "changed", |
| 54 G_CALLBACK(&OnTargetLanguageModifiedThunk), this); | 66 G_CALLBACK(&OnTargetLanguageModifiedThunk), this); |
| 55 | 67 |
| 56 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[0])), | 68 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[0])), |
| 57 FALSE, FALSE, 0); | 69 FALSE, FALSE, 0); |
| 58 gtk_box_pack_start(GTK_BOX(hbox), | 70 gtk_box_pack_start(GTK_BOX(hbox), |
| 59 swapped_language_combos ? target_lang_combo : | 71 (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.
| |
| 60 original_lang_combo, | 72 translate_with_auto) ? target_lang_combo : |
| 73 original_lang_combo, | |
| 61 FALSE, FALSE, 0); | 74 FALSE, FALSE, 0); |
| 62 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[1])), | 75 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[1])), |
| 63 FALSE, FALSE, 0); | 76 FALSE, FALSE, 0); |
| 64 gtk_box_pack_start(GTK_BOX(hbox), | 77 if (!translate_with_auto) { |
| 65 swapped_language_combos ? original_lang_combo : | 78 gtk_box_pack_start(GTK_BOX(hbox), |
| 66 target_lang_combo, | 79 swapped_language_combos ? original_lang_combo : |
| 67 FALSE, FALSE, 0); | 80 target_lang_combo, |
| 68 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[2])), | 81 FALSE, FALSE, 0); |
| 69 FALSE, FALSE, 0); | 82 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[2])), |
| 83 FALSE, FALSE, 0); | |
| 84 } | |
| 70 | 85 |
| 71 GtkWidget* button = gtk_button_new_with_label( | 86 GtkWidget* button = gtk_button_new_with_label( |
| 72 l10n_util::GetStringUTF8(IDS_TRANSLATE_INFOBAR_REVERT).c_str()); | 87 l10n_util::GetStringUTF8(IDS_TRANSLATE_INFOBAR_REVERT).c_str()); |
| 73 Signals()->Connect(button, "clicked", | 88 Signals()->Connect(button, "clicked", |
| 74 G_CALLBACK(&OnRevertPressedThunk), this); | 89 G_CALLBACK(&OnRevertPressedThunk), this); |
| 75 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); | 90 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
| 76 } | 91 } |
| 77 | 92 |
| 78 bool AfterTranslateInfoBar::ShowOptionsMenuButton() const { | 93 bool AfterTranslateInfoBar::ShowOptionsMenuButton() const { |
| 79 return true; | 94 return true; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 113 base::MessageLoop::current()->PostTask( | 128 base::MessageLoop::current()->PostTask( |
| 114 FROM_HERE, | 129 FROM_HERE, |
| 115 base::Bind(&AfterTranslateInfoBar::SetTargetLanguage, | 130 base::Bind(&AfterTranslateInfoBar::SetTargetLanguage, |
| 116 weak_factory_.GetWeakPtr(), | 131 weak_factory_.GetWeakPtr(), |
| 117 index)); | 132 index)); |
| 118 } | 133 } |
| 119 | 134 |
| 120 void AfterTranslateInfoBar::OnRevertPressed(GtkWidget* sender) { | 135 void AfterTranslateInfoBar::OnRevertPressed(GtkWidget* sender) { |
| 121 GetDelegate()->RevertTranslation(); | 136 GetDelegate()->RevertTranslation(); |
| 122 } | 137 } |
| OLD | NEW |