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

Unified Diff: chrome/browser/ui/gtk/infobars/after_translate_infobar_gtk.cc

Issue 15297006: Translate (Linux): add after infobar UI for server side language detection (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: renaming Created 7 years, 7 months 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/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..d4b6142a4e263fca17d73b995c8912b8c401e0b6 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,17 @@ void AfterTranslateInfoBar::InitWidgets() {
TranslateInfoBarBase::InitWidgets();
bool swapped_language_combos = false;
+ bool autodetermined_source_language =
+ GetDelegate()->original_language_index() ==
+ TranslateInfoBarDelegate::kNoIndex;
+
std::vector<string16> strings;
TranslateInfoBarDelegate::GetAfterTranslateStrings(
- &strings, &swapped_language_combos);
- DCHECK(strings.size() == 3U);
+ &strings, &swapped_language_combos, autodetermined_source_language);
+ if (autodetermined_source_language)
+ DCHECK(strings.size() == 2U);
+ else
+ DCHECK(strings.size() == 3U);
Peter Kasting 2013/05/23 19:59:56 Nit: Simpler and uses DCHECK_EQ(): DCHECK_EQ(au
Takashi Toyoshima 2013/05/27 06:07:51 Done.
GtkWidget* hbox = gtk_hbox_new(FALSE, ui::kControlSpacing);
gtk_util::CenterWidgetInHBox(hbox_, hbox, false, 0);
@@ -40,12 +47,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 (!autodetermined_source_language) {
+ 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 +66,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),
Peter Kasting 2013/05/23 19:59:56 Nit: Strange wrapping. How about: gtk_box_pack
Takashi Toyoshima 2013/05/27 06:07:51 Done.
- swapped_language_combos ? target_lang_combo :
- original_lang_combo,
+ (swapped_language_combos ||
+ autodetermined_source_language) ? 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 (!autodetermined_source_language) {
+ 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());

Powered by Google App Engine
This is Rietveld 408576698