| Index: ui/message_center/cocoa/tray_view_controller.mm
|
| diff --git a/ui/message_center/cocoa/tray_view_controller.mm b/ui/message_center/cocoa/tray_view_controller.mm
|
| index a1994ecddda1a4f89ac096c91a4ecc4599931034..5344268fed69634acfe967f21e11d69ba3e1db26 100644
|
| --- a/ui/message_center/cocoa/tray_view_controller.mm
|
| +++ b/ui/message_center/cocoa/tray_view_controller.mm
|
| @@ -359,6 +359,14 @@ const CGFloat kTrayBottomMargin = 75;
|
|
|
| // Testing API /////////////////////////////////////////////////////////////////
|
|
|
| +- (NSBox*)divider {
|
| + return divider_.get();
|
| +}
|
| +
|
| +- (NSTextField*)emptyDescription {
|
| + return emptyDescription_.get();
|
| +}
|
| +
|
| - (NSScrollView*)scrollView {
|
| return scrollView_.get();
|
| }
|
| @@ -390,16 +398,21 @@ const CGFloat kTrayBottomMargin = 75;
|
| ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
|
| NSView* view = [self view];
|
|
|
| + auto configureLabel = ^(NSTextField* textField) {
|
| + [textField setAutoresizingMask:NSViewMinYMargin];
|
| + [textField setBezeled:NO];
|
| + [textField setBordered:NO];
|
| + [textField setDrawsBackground:NO];
|
| + [textField setEditable:NO];
|
| + [textField setSelectable:NO];
|
| + };
|
| +
|
| // Create the "Notifications" label at the top of the tray.
|
| NSFont* font = [NSFont labelFontOfSize:message_center::kTitleFontSize];
|
| title_.reset([[NSTextField alloc] initWithFrame:NSZeroRect]);
|
| - [title_ setAutoresizingMask:NSViewMinYMargin];
|
| - [title_ setBezeled:NO];
|
| - [title_ setBordered:NO];
|
| - [title_ setDrawsBackground:NO];
|
| - [title_ setEditable:NO];
|
| + configureLabel(title_);
|
| +
|
| [title_ setFont:font];
|
| - [title_ setSelectable:NO];
|
| [title_ setStringValue:
|
| l10n_util::GetNSString(IDS_MESSAGE_CENTER_FOOTER_TITLE)];
|
| [title_ setTextColor:gfx::SkColorToCalibratedNSColor(
|
| @@ -445,16 +458,17 @@ const CGFloat kTrayBottomMargin = 75;
|
| [[self view] addSubview:backButton_];
|
|
|
| // Create the divider line between the control area and the notifications.
|
| - base::scoped_nsobject<NSBox> divider(
|
| + divider_.reset(
|
| [[NSBox alloc] initWithFrame:NSMakeRect(0, 0, NSWidth([view frame]), 1)]);
|
| - [divider setAutoresizingMask:NSViewMinYMargin];
|
| - [divider setBorderType:NSNoBorder];
|
| - [divider setBoxType:NSBoxCustom];
|
| - [divider setContentViewMargins:NSZeroSize];
|
| - [divider setFillColor:gfx::SkColorToCalibratedNSColor(
|
| + [divider_ setAutoresizingMask:NSViewMinYMargin];
|
| + [divider_ setBorderType:NSNoBorder];
|
| + [divider_ setBoxType:NSBoxCustom];
|
| + [divider_ setContentViewMargins:NSZeroSize];
|
| + [divider_ setFillColor:gfx::SkColorToCalibratedNSColor(
|
| message_center::kFooterDelimiterColor)];
|
| - [divider setTitlePosition:NSNoTitle];
|
| - [view addSubview:divider];
|
| + [divider_ setTitlePosition:NSNoTitle];
|
| + [view addSubview:divider_];
|
| +
|
|
|
| auto getButtonFrame = ^NSRect(CGFloat maxX, NSImage* image) {
|
| NSSize size = [image size];
|
| @@ -524,13 +538,45 @@ const CGFloat kTrayBottomMargin = 75;
|
| [pauseButton_ setAction:@selector(toggleQuietMode:)];
|
| configureButton(pauseButton_);
|
| [view addSubview:pauseButton_];
|
| +
|
| + // Create the description field for the empty message center. Initially it is
|
| + // invisible.
|
| + emptyDescription_.reset([[NSTextField alloc] initWithFrame:NSZeroRect]);
|
| + configureLabel(emptyDescription_);
|
| +
|
| + NSFont* smallFont =
|
| + [NSFont labelFontOfSize:message_center::kEmptyCenterFontSize];
|
| + [emptyDescription_ setFont:smallFont];
|
| + [emptyDescription_ setStringValue:
|
| + l10n_util::GetNSString(IDS_MESSAGE_CENTER_NO_MESSAGES)];
|
| + [emptyDescription_ setTextColor:gfx::SkColorToCalibratedNSColor(
|
| + message_center::kDimTextColor)];
|
| + [emptyDescription_ sizeToFit];
|
| + [emptyDescription_ setHidden:YES];
|
| +
|
| + [view addSubview:emptyDescription_];
|
| }
|
|
|
| - (void)updateTrayViewAndWindow {
|
| - CGFloat scrollContentHeight = 0;
|
| + CGFloat scrollContentHeight = message_center::kMinScrollViewHeight;
|
| if ([notifications_ count]) {
|
| + [emptyDescription_ setHidden:YES];
|
| + [scrollView_ setHidden:NO];
|
| + [divider_ setHidden:NO];
|
| scrollContentHeight = NSMaxY([[[notifications_ lastObject] view] frame]) +
|
| message_center::kMarginBetweenItems;;
|
| + } else {
|
| + [emptyDescription_ setHidden:NO];
|
| + [scrollView_ setHidden:YES];
|
| + [divider_ setHidden:YES];
|
| +
|
| + NSRect centeredFrame = [emptyDescription_ frame];
|
| + NSPoint centeredOrigin = NSMakePoint(
|
| + floor((NSWidth([[self view] frame]) - NSWidth(centeredFrame))/2 + 0.5),
|
| + floor((scrollContentHeight - NSHeight(centeredFrame))/2 + 0.5));
|
| +
|
| + centeredFrame.origin = centeredOrigin;
|
| + [emptyDescription_ setFrame:centeredFrame];
|
| }
|
|
|
| // Resize the scroll view's content.
|
|
|