// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #import "chrome/browser/ui/cocoa/autofill/autofill_header.h" #include "base/strings/sys_string_conversions.h" #include "chrome/browser/ui/autofill/autofill_dialog_view_delegate.h" #include "chrome/browser/ui/chrome_style.h" #include "chrome/browser/ui/cocoa/autofill/autofill_dialog_constants.h" namespace { // Height of the account chooser. const CGFloat kAccountChooserHeight = 20.0; } // namespace @implementation AutofillHeader - (id)initWithDelegate:(autofill::AutofillDialogViewDelegate*)delegate { if (self = [super initWithNibName:nil bundle:nil]) { delegate_ = delegate; // Set dialog title. title_.reset([[NSTextField alloc] initWithFrame:NSZeroRect]); [title_ setEditable:NO]; [title_ setBordered:NO]; [title_ setDrawsBackground:NO]; [title_ setFont:[NSFont systemFontOfSize:15.0]]; [title_ setStringValue:base::SysUTF16ToNSString(delegate_->DialogTitle())]; [title_ sizeToFit]; base::scoped_nsobject view( [[NSView alloc] initWithFrame:NSZeroRect]); [self setView:view]; } return self; } - (void)update { [title_ setStringValue:base::SysUTF16ToNSString(delegate_->DialogTitle())]; [title_ sizeToFit]; } - (NSSize)preferredSize { CGFloat height = chrome_style::kTitleTopPadding + kAccountChooserHeight + autofill::kDetailVerticalPadding; // The returned width is unused, and there's no simple way to compute the // account chooser's width, so just return 0 for the width. return NSMakeSize(0, height); } - (void)performLayout { [title_ setFrameOrigin:NSMakePoint(chrome_style::kHorizontalPadding, autofill::kDetailVerticalPadding)]; } @end