blob: 556bdb3e9b8cc92b141c5a4615536da33405b8d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
// 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<NSView> 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
|