| 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 17 matching lines...) Expand all Loading... |
| 28 TranslateInfoBarBase::InitWidgets(); | 28 TranslateInfoBarBase::InitWidgets(); |
| 29 | 29 |
| 30 bool swapped_language_combos = false; | 30 bool swapped_language_combos = false; |
| 31 bool autodetermined_source_language = | 31 bool autodetermined_source_language = |
| 32 GetDelegate()->original_language_index() == | 32 GetDelegate()->original_language_index() == |
| 33 TranslateInfoBarDelegate::kNoIndex; | 33 TranslateInfoBarDelegate::kNoIndex; |
| 34 | 34 |
| 35 std::vector<string16> strings; | 35 std::vector<string16> strings; |
| 36 TranslateInfoBarDelegate::GetAfterTranslateStrings( | 36 TranslateInfoBarDelegate::GetAfterTranslateStrings( |
| 37 &strings, &swapped_language_combos, autodetermined_source_language); | 37 &strings, &swapped_language_combos, autodetermined_source_language); |
| 38 if (autodetermined_source_language) | 38 DCHECK_EQ(autodetermined_source_language ? 2U : 3U, strings.size()); |
| 39 DCHECK(strings.size() == 2U); | |
| 40 else | |
| 41 DCHECK(strings.size() == 3U); | |
| 42 | 39 |
| 43 GtkWidget* hbox = gtk_hbox_new(FALSE, ui::kControlSpacing); | 40 GtkWidget* hbox = gtk_hbox_new(FALSE, ui::kControlSpacing); |
| 44 gtk_util::CenterWidgetInHBox(hbox_, hbox, false, 0); | 41 gtk_util::CenterWidgetInHBox(hbox_, hbox, false, 0); |
| 45 | 42 |
| 46 size_t original_language_index = GetDelegate()->original_language_index(); | 43 size_t original_language_index = GetDelegate()->original_language_index(); |
| 47 size_t target_language_index = GetDelegate()->target_language_index(); | 44 size_t target_language_index = GetDelegate()->target_language_index(); |
| 48 bool exclude_the_other = original_language_index != target_language_index; | 45 bool exclude_the_other = original_language_index != target_language_index; |
| 49 | 46 |
| 50 GtkWidget* original_lang_combo = NULL; | 47 GtkWidget* original_lang_combo = NULL; |
| 51 if (!autodetermined_source_language) { | 48 if (!autodetermined_source_language) { |
| 52 original_lang_combo = CreateLanguageCombobox( | 49 original_lang_combo = CreateLanguageCombobox( |
| 53 original_language_index, | 50 original_language_index, |
| 54 exclude_the_other ? target_language_index : | 51 exclude_the_other ? target_language_index : |
| 55 TranslateInfoBarDelegate::kNoIndex); | 52 TranslateInfoBarDelegate::kNoIndex); |
| 56 Signals()->Connect(original_lang_combo, "changed", | 53 Signals()->Connect(original_lang_combo, "changed", |
| 57 G_CALLBACK(&OnOriginalLanguageModifiedThunk), this); | 54 G_CALLBACK(&OnOriginalLanguageModifiedThunk), this); |
| 58 } | 55 } |
| 59 GtkWidget* target_lang_combo = CreateLanguageCombobox( | 56 GtkWidget* target_lang_combo = CreateLanguageCombobox( |
| 60 target_language_index, | 57 target_language_index, |
| 61 exclude_the_other ? original_language_index : | 58 exclude_the_other ? original_language_index : |
| 62 TranslateInfoBarDelegate::kNoIndex); | 59 TranslateInfoBarDelegate::kNoIndex); |
| 63 Signals()->Connect(target_lang_combo, "changed", | 60 Signals()->Connect(target_lang_combo, "changed", |
| 64 G_CALLBACK(&OnTargetLanguageModifiedThunk), this); | 61 G_CALLBACK(&OnTargetLanguageModifiedThunk), this); |
| 65 | 62 |
| 66 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[0])), | 63 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[0])), |
| 67 FALSE, FALSE, 0); | 64 FALSE, FALSE, 0); |
| 68 gtk_box_pack_start(GTK_BOX(hbox), | 65 gtk_box_pack_start( |
| 69 (swapped_language_combos || | 66 GTK_BOX(hbox), |
| 70 autodetermined_source_language) ? target_lang_combo : | 67 (swapped_language_combos || autodetermined_source_language) ? |
| 71 original_lang_combo, | 68 target_lang_combo : original_lang_combo, |
| 72 FALSE, FALSE, 0); | 69 FALSE, FALSE, 0); |
| 73 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[1])), | 70 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[1])), |
| 74 FALSE, FALSE, 0); | 71 FALSE, FALSE, 0); |
| 75 if (!autodetermined_source_language) { | 72 if (!autodetermined_source_language) { |
| 76 gtk_box_pack_start(GTK_BOX(hbox), | 73 gtk_box_pack_start(GTK_BOX(hbox), |
| 77 swapped_language_combos ? original_lang_combo : | 74 swapped_language_combos ? original_lang_combo : |
| 78 target_lang_combo, | 75 target_lang_combo, |
| 79 FALSE, FALSE, 0); | 76 FALSE, FALSE, 0); |
| 80 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[2])), | 77 gtk_box_pack_start(GTK_BOX(hbox), CreateLabel(UTF16ToUTF8(strings[2])), |
| 81 FALSE, FALSE, 0); | 78 FALSE, FALSE, 0); |
| 82 } | 79 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 base::MessageLoop::current()->PostTask( | 123 base::MessageLoop::current()->PostTask( |
| 127 FROM_HERE, | 124 FROM_HERE, |
| 128 base::Bind(&AfterTranslateInfoBar::SetTargetLanguage, | 125 base::Bind(&AfterTranslateInfoBar::SetTargetLanguage, |
| 129 weak_factory_.GetWeakPtr(), | 126 weak_factory_.GetWeakPtr(), |
| 130 index)); | 127 index)); |
| 131 } | 128 } |
| 132 | 129 |
| 133 void AfterTranslateInfoBar::OnRevertPressed(GtkWidget* sender) { | 130 void AfterTranslateInfoBar::OnRevertPressed(GtkWidget* sender) { |
| 134 GetDelegate()->RevertTranslation(); | 131 GetDelegate()->RevertTranslation(); |
| 135 } | 132 } |
| OLD | NEW |