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

Side by Side 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: 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698