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

Unified Diff: chrome/browser/ui/cocoa/infobars/after_translate_infobar_controller.mm

Issue 15521005: Translate (Mac): add after infobar UI for server side language detection (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: style 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/cocoa/infobars/after_translate_infobar_controller.mm
diff --git a/chrome/browser/ui/cocoa/infobars/after_translate_infobar_controller.mm b/chrome/browser/ui/cocoa/infobars/after_translate_infobar_controller.mm
index b5f7ec447c9857b2376594d5e66ca2f57b12e153..442e17c3c09150c7cb4cc6b3ebcd79721d9128e5 100644
--- a/chrome/browser/ui/cocoa/infobars/after_translate_infobar_controller.mm
+++ b/chrome/browser/ui/cocoa/infobars/after_translate_infobar_controller.mm
@@ -13,17 +13,16 @@ using InfoBarUtilities::VerifyControlOrderAndSpacing;
@implementation AfterTranslateInfobarController
- (void)loadLabelText {
+ autodeterminedSourceLanguage_ = ([self delegate]->original_language_index() ==
+ TranslateInfoBarDelegate::kNoIndex);
std::vector<string16> strings;
TranslateInfoBarDelegate::GetAfterTranslateStrings(
- &strings, &swappedLanugageButtons_, false);
- DCHECK(strings.size() == 3U);
- NSString* string1 = base::SysUTF16ToNSString(strings[0]);
- NSString* string2 = base::SysUTF16ToNSString(strings[1]);
- NSString* string3 = base::SysUTF16ToNSString(strings[2]);
-
- [label1_ setStringValue:string1];
- [label2_ setStringValue:string2];
- [label3_ setStringValue:string3];
+ &strings, &swappedLanugageButtons_, autodeterminedSourceLanguage_);
+ DCHECK_EQ(autodeterminedSourceLanguage_ ? 2U : 3U, strings.size());
+ [label1_ setStringValue:base::SysUTF16ToNSString(strings[0])];
+ [label2_ setStringValue:base::SysUTF16ToNSString(strings[1])];
+ if (strings.size() == 3U)
+ [label3_ setStringValue:base::SysUTF16ToNSString(strings[2])];
}
- (void)layout {
@@ -31,23 +30,32 @@ using InfoBarUtilities::VerifyControlOrderAndSpacing;
[optionsPopUp_ setHidden:NO];
NSView* firstPopup = fromLanguagePopUp_;
NSView* lastPopup = toLanguagePopUp_;
- if (swappedLanugageButtons_) {
+ if (swappedLanugageButtons_ || autodeterminedSourceLanguage_) {
firstPopup = toLanguagePopUp_;
lastPopup = fromLanguagePopUp_;
}
NSView* lastControl = lastPopup;
MoveControl(label1_, firstPopup, spaceBetweenControls_ / 2, true);
- MoveControl(firstPopup, label2_, spaceBetweenControls_ / 2, true);
- MoveControl(label2_, lastPopup, spaceBetweenControls_ / 2, true);
- MoveControl(lastPopup, label3_, 0, true);
- lastControl = label3_;
+ if (autodeterminedSourceLanguage_) {
+ MoveControl(firstPopup, label2_, 0, true);
+ lastControl = label2_;
+ } else {
+ MoveControl(firstPopup, label2_, spaceBetweenControls_ / 2, true);
+ MoveControl(label2_, lastPopup, spaceBetweenControls_ / 2, true);
+ MoveControl(lastPopup, label3_, 0, true);
+ lastControl = label3_;
+ }
MoveControl(lastControl, showOriginalButton_, spaceBetweenControls_ * 2,
true);
}
- (NSArray*)visibleControls {
+ if (autodeterminedSourceLanguage_) {
+ return [NSArray arrayWithObjects:label1_.get(), toLanguagePopUp_.get(),
+ label2_.get(), showOriginalButton_.get(), nil];
+ }
return [NSArray arrayWithObjects:label1_.get(), fromLanguagePopUp_.get(),
label2_.get(), toLanguagePopUp_.get(), label3_.get(),
showOriginalButton_.get(), nil];

Powered by Google App Engine
This is Rietveld 408576698