| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/confirm_bubble_cocoa.h" | 5 #import "chrome/browser/ui/cocoa/confirm_bubble_cocoa.h" |
| 6 | 6 |
| 7 #include "base/strings/string16.h" | 7 #include "base/strings/string16.h" |
| 8 #include "chrome/browser/themes/theme_service.h" | 8 #include "chrome/browser/themes/theme_service.h" |
| 9 #import "chrome/browser/ui/cocoa/confirm_bubble_controller.h" | 9 #import "chrome/browser/ui/cocoa/confirm_bubble_controller.h" |
| 10 #include "chrome/browser/ui/confirm_bubble.h" | 10 #include "chrome/browser/ui/confirm_bubble.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 const int kBubbleCornerRadius = 3; | 21 const int kBubbleCornerRadius = 3; |
| 22 | 22 |
| 23 // The color for the border of this bubble view. | 23 // The color for the border of this bubble view. |
| 24 const float kBubbleWindowEdge = 0.7f; | 24 const float kBubbleWindowEdge = 0.7f; |
| 25 | 25 |
| 26 // Constants used for layouting controls. These variables are copied from | 26 // Constants used for layouting controls. These variables are copied from |
| 27 // "ui/views/layout/layout_constants.h". | 27 // "ui/views/layout/layout_constants.h". |
| 28 // Vertical spacing between a label and some control. | 28 // Vertical spacing between a label and some control. |
| 29 const int kLabelToControlVerticalSpacing = 8; | 29 const int kLabelToControlVerticalSpacing = 8; |
| 30 | 30 |
| 31 // Horizontal spacing between controls that are logically related. | |
| 32 const int kRelatedControlHorizontalSpacing = 8; | |
| 33 | |
| 34 // Vertical spacing between controls that are logically related. | 31 // Vertical spacing between controls that are logically related. |
| 35 const int kRelatedControlVerticalSpacing = 8; | 32 const int kRelatedControlVerticalSpacing = 8; |
| 36 | 33 |
| 37 // Vertical spacing between the edge of the window and the | 34 // Vertical spacing between the edge of the window and the |
| 38 // top or bottom of a button. | 35 // top or bottom of a button. |
| 39 const int kButtonVEdgeMargin = 6; | 36 const int kButtonVEdgeMargin = 6; |
| 40 | 37 |
| 41 // Horizontal spacing between the edge of the window and the | 38 // Horizontal spacing between the edge of the window and the |
| 42 // left or right of a button. | 39 // left or right of a button. |
| 43 const int kButtonHEdgeMargin = 7; | 40 const int kButtonHEdgeMargin = 7; |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 [messageLabel_.get() setDrawsBackground:NO]; | 228 [messageLabel_.get() setDrawsBackground:NO]; |
| 232 [messageLabel_.get() setDelegate:self]; | 229 [messageLabel_.get() setDelegate:self]; |
| 233 [messageLabel_.get() sizeToFit]; | 230 [messageLabel_.get() sizeToFit]; |
| 234 height = NSHeight([messageLabel_.get() frame]); | 231 height = NSHeight([messageLabel_.get() frame]); |
| 235 [self addSubview:messageLabel_.get()]; | 232 [self addSubview:messageLabel_.get()]; |
| 236 | 233 |
| 237 // Add the icon and the title label to the third row. | 234 // Add the icon and the title label to the third row. |
| 238 left = kButtonHEdgeMargin; | 235 left = kButtonHEdgeMargin; |
| 239 right = NSWidth(frameRect); | 236 right = NSWidth(frameRect); |
| 240 bottom += height + kLabelToControlVerticalSpacing; | 237 bottom += height + kLabelToControlVerticalSpacing; |
| 241 height = 0; | |
| 242 NSImage* iconImage = [controller_ icon]; | |
| 243 if (iconImage) { | |
| 244 icon_.reset([[NSImageView alloc] initWithFrame:NSMakeRect( | |
| 245 left, bottom, [iconImage size].width, [iconImage size].height)]); | |
| 246 [icon_.get() setImage:iconImage]; | |
| 247 [self addSubview:icon_.get()]; | |
| 248 left += NSWidth([icon_.get() frame]) + kRelatedControlHorizontalSpacing; | |
| 249 height = std::max(height, NSHeight([icon_.get() frame])); | |
| 250 } | |
| 251 titleLabel_.reset([[NSTextView alloc] | 238 titleLabel_.reset([[NSTextView alloc] |
| 252 initWithFrame:NSMakeRect(left, bottom, right - left, 0)]); | 239 initWithFrame:NSMakeRect(left, bottom, right - left, 0)]); |
| 253 [titleLabel_.get() setString:[controller_ title]]; | 240 [titleLabel_.get() setString:[controller_ title]]; |
| 254 [titleLabel_.get() setHorizontallyResizable:NO]; | 241 [titleLabel_.get() setHorizontallyResizable:NO]; |
| 255 [titleLabel_.get() setVerticallyResizable:YES]; | 242 [titleLabel_.get() setVerticallyResizable:YES]; |
| 256 [titleLabel_.get() setEditable:NO]; | 243 [titleLabel_.get() setEditable:NO]; |
| 257 [titleLabel_.get() setSelectable:NO]; | 244 [titleLabel_.get() setSelectable:NO]; |
| 258 [titleLabel_.get() setDrawsBackground:NO]; | 245 [titleLabel_.get() setDrawsBackground:NO]; |
| 259 [titleLabel_.get() sizeToFit]; | 246 [titleLabel_.get() sizeToFit]; |
| 260 [self addSubview:titleLabel_.get()]; | 247 [self addSubview:titleLabel_.get()]; |
| 261 height = std::max(height, NSHeight([titleLabel_.get() frame])); | 248 height = NSHeight([titleLabel_.get() frame]); |
| 262 | 249 |
| 263 // Adjust the frame rectangle of this bubble so we can show all controls. | 250 // Adjust the frame rectangle of this bubble so we can show all controls. |
| 264 NSRect parentRect = [parent_ frame]; | 251 NSRect parentRect = [parent_ frame]; |
| 265 frameRect.size.height = bottom + height + kButtonVEdgeMargin; | 252 frameRect.size.height = bottom + height + kButtonVEdgeMargin; |
| 266 frameRect.origin.x = (NSWidth(parentRect) - NSWidth(frameRect)) / 2; | 253 frameRect.origin.x = (NSWidth(parentRect) - NSWidth(frameRect)) / 2; |
| 267 frameRect.origin.y = NSHeight(parentRect) - NSHeight(frameRect); | 254 frameRect.origin.y = NSHeight(parentRect) - NSHeight(frameRect); |
| 268 [self setFrame:frameRect]; | 255 [self setFrame:frameRect]; |
| 269 } | 256 } |
| 270 | 257 |
| 271 // Closes this bubble and releases all resources. This function just puts the | 258 // Closes this bubble and releases all resources. This function just puts the |
| (...skipping 16 matching lines...) Expand all Loading... |
| 288 | 275 |
| 289 - (void)clickCancel { | 276 - (void)clickCancel { |
| 290 [self cancel:self]; | 277 [self cancel:self]; |
| 291 } | 278 } |
| 292 | 279 |
| 293 - (void)clickLink { | 280 - (void)clickLink { |
| 294 [self textView:messageLabel_.get() clickedOnLink:nil atIndex:0]; | 281 [self textView:messageLabel_.get() clickedOnLink:nil atIndex:0]; |
| 295 } | 282 } |
| 296 | 283 |
| 297 @end | 284 @end |
| OLD | NEW |