| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #import "chrome/browser/ui/cocoa/profile_signin_confirmation_view_controller.h" | 5 #import "chrome/browser/ui/cocoa/profile_signin_confirmation_view_controller.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #include "base/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #import "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h" | 27 #import "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h" |
| 28 #import "ui/base/cocoa/controls/hyperlink_button_cell.h" | 28 #import "ui/base/cocoa/controls/hyperlink_button_cell.h" |
| 29 #include "ui/base/l10n/l10n_util.h" | 29 #include "ui/base/l10n/l10n_util.h" |
| 30 | 30 |
| 31 namespace { | 31 namespace { |
| 32 | 32 |
| 33 const CGFloat kWindowMinWidth = 500; | 33 const CGFloat kWindowMinWidth = 500; |
| 34 const CGFloat kButtonGap = 6; | 34 const CGFloat kButtonGap = 6; |
| 35 const CGFloat kDialogAlertBarBorderWidth = 1; | 35 const CGFloat kDialogAlertBarBorderWidth = 1; |
| 36 | 36 |
| 37 // Shift the origin of |view|'s frame by the given amount in the | |
| 38 // positive y direction (up). | |
| 39 void ShiftOriginY(NSView* view, CGFloat amount) { | |
| 40 NSPoint origin = [view frame].origin; | |
| 41 origin.y += amount; | |
| 42 [view setFrameOrigin:origin]; | |
| 43 } | |
| 44 | |
| 45 // Determine the frame required to fit the content of a string. Uses the | 37 // Determine the frame required to fit the content of a string. Uses the |
| 46 // provided height and width as preferred dimensions, where a value of | 38 // provided height and width as preferred dimensions, where a value of |
| 47 // 0.0 indicates no preference. | 39 // 0.0 indicates no preference. |
| 48 NSRect ComputeFrame(NSAttributedString* text, CGFloat width, CGFloat height) { | 40 NSRect ComputeFrame(NSAttributedString* text, CGFloat width, CGFloat height) { |
| 49 NSRect frame = | 41 NSRect frame = |
| 50 [text boundingRectWithSize:NSMakeSize(width, height) | 42 [text boundingRectWithSize:NSMakeSize(width, height) |
| 51 options:NSStringDrawingUsesLineFragmentOrigin]; | 43 options:NSStringDrawingUsesLineFragmentOrigin]; |
| 52 // boundingRectWithSize is known to underestimate the width. | 44 // boundingRectWithSize is known to underestimate the width. |
| 53 static const CGFloat kTextViewPadding = 10; | 45 static const CGFloat kTextViewPadding = 10; |
| 54 frame.size.width += kTextViewPadding; | 46 frame.size.width += kTextViewPadding; |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 [textField setAttributedStringValue: | 113 [textField setAttributedStringValue: |
| 122 constrained_window::GetAttributedLabelString( | 114 constrained_window::GetAttributedLabelString( |
| 123 SysUTF16ToNSString(message), | 115 SysUTF16ToNSString(message), |
| 124 font_style, | 116 font_style, |
| 125 NSNaturalTextAlignment, | 117 NSNaturalTextAlignment, |
| 126 NSLineBreakByWordWrapping)]; | 118 NSLineBreakByWordWrapping)]; |
| 127 [parent addSubview:textField]; | 119 [parent addSubview:textField]; |
| 128 return textField; | 120 return textField; |
| 129 } | 121 } |
| 130 | 122 |
| 131 // Create a new link button and add it to the specified parent. | |
| 132 NSButton* AddLinkButton( | |
| 133 NSView* parent, | |
| 134 const string16& message, | |
| 135 id target, | |
| 136 SEL selector) { | |
| 137 NSButton* button = | |
| 138 [HyperlinkButtonCell buttonWithString:SysUTF16ToNSString(message)]; | |
| 139 [button setTarget:target]; | |
| 140 [button setAction:selector]; | |
| 141 HyperlinkButtonCell* cell = [button cell]; | |
| 142 cell.textColor = | |
| 143 gfx::SkColorToCalibratedNSColor(chrome_style::GetLinkColor()); | |
| 144 cell.shouldUnderline = NO; | |
| 145 [parent addSubview:button]; | |
| 146 return button; | |
| 147 } | |
| 148 | |
| 149 } // namespace | 123 } // namespace |
| 150 | 124 |
| 151 @interface ProfileSigninConfirmationViewController () | 125 @interface ProfileSigninConfirmationViewController () |
| 152 - (void)learnMore; | 126 - (void)learnMore; |
| 153 - (void)addButton:(NSButton*)button | 127 - (void)addButton:(NSButton*)button |
| 154 withTitle:(int)resourceID | 128 withTitle:(int)resourceID |
| 155 target:(id)target | 129 target:(id)target |
| 156 action:(SEL)action | 130 action:(SEL)action |
| 157 shouldAutoSize:(BOOL)shouldAutoSize; | 131 shouldAutoSize:(BOOL)shouldAutoSize; |
| 158 @end | 132 @end |
| (...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 462 | 436 |
| 463 - (NSButton*)createProfileButton { | 437 - (NSButton*)createProfileButton { |
| 464 return createProfileButton_.get(); | 438 return createProfileButton_.get(); |
| 465 } | 439 } |
| 466 | 440 |
| 467 - (NSTextView*)explanationField { | 441 - (NSTextView*)explanationField { |
| 468 return explanationField_.get(); | 442 return explanationField_.get(); |
| 469 } | 443 } |
| 470 | 444 |
| 471 @end | 445 @end |
| OLD | NEW |