1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/ui/cocoa/infobars/translate_message_infobar_controller.h"
7 #include "base/strings/sys_string_conversions.h"
8 #import "chrome/browser/ui/cocoa/infobars/infobar_utilities.h"
10 using InfoBarUtilities::MoveControl;
12 @implementation TranslateMessageInfobarController
15 [self removeOkCancelButtons];
17 label1_, translateMessageButton_, spaceBetweenControls_ * 2, true);
18 translate::TranslateInfoBarDelegate* delegate = [self delegate];
19 if ([self delegate]->ShouldShowMessageInfoBarButton()) {
20 base::string16 buttonText = delegate->GetMessageInfoBarButtonText();
21 [translateMessageButton_ setTitle:base::SysUTF16ToNSString(buttonText)];
22 [translateMessageButton_ sizeToFit];
26 - (void)adjustOptionsButtonSizeAndVisibilityForView:(NSView*)lastView {
27 // Do nothing, but stop the options button from showing up.
30 - (NSArray*)visibleControls {
31 NSMutableArray* visibleControls =
32 [NSMutableArray arrayWithObjects:label1_.get(), nil];
33 if ([self delegate]->ShouldShowMessageInfoBarButton())
34 [visibleControls addObject:translateMessageButton_];
35 return visibleControls;
38 - (void)loadLabelText {
39 translate::TranslateInfoBarDelegate* delegate = [self delegate];
40 base::string16 messageText = delegate->GetMessageInfoBarText();
41 NSString* string1 = base::SysUTF16ToNSString(messageText);
42 [label1_ setStringValue:string1];
45 - (bool)verifyLayout {
46 if (![optionsPopUp_ isHidden])
48 return [super verifyLayout];
51 - (BOOL)shouldShowOptionsPopUp {