| Index: ui/message_center/cocoa/notification_controller.mm
|
| diff --git a/ui/message_center/cocoa/notification_controller.mm b/ui/message_center/cocoa/notification_controller.mm
|
| index fb99ce970d44b055a638612b108958d51b0419a7..51f8b2cb781875ba469dbf4a0973c537b9d94d7d 100644
|
| --- a/ui/message_center/cocoa/notification_controller.mm
|
| +++ b/ui/message_center/cocoa/notification_controller.mm
|
| @@ -5,6 +5,7 @@
|
| #import "ui/message_center/cocoa/notification_controller.h"
|
|
|
| #include "base/mac/foundation_util.h"
|
| +#include "base/strings/utf_string_conversions.h"
|
| #include "base/strings/sys_string_conversions.h"
|
| #include "grit/ui_resources.h"
|
| #include "skia/ext/skia_utils_mac.h"
|
| @@ -192,6 +193,73 @@
|
| NSMinY(titleFrame) - messagePadding - NSHeight(messageFrame);
|
| messageFrame.size.height = NSHeight([message_ frame]);
|
|
|
| + // Create the list item views (up to a maximum).
|
| + [listItemView_ removeFromSuperview];
|
| + std::vector<message_center::NotificationItem> items = notification->items();
|
| +
|
| + if (items.size() > 0) {
|
| + NSRect frame = [self currentContentRect];
|
| + frame.origin.y = 0;
|
| + frame.size.height = 0;
|
| + listItemView_.reset([[NSView alloc] initWithFrame:frame]);
|
| + CGFloat y = 0;
|
| + //int padding = kMessageLineHeight - views::Label().font().GetHeight();
|
| + for (int i =
|
| + std::min(message_center::kNotificationMaximumItems, items.size()) - 1;
|
| + i >= 0; --i) {
|
| + NSString* text = base::SysUTF16ToNSString(
|
| + items[i].title + base::UTF8ToUTF16(" ") + items[i].message);
|
| +
|
| + CGFloat fontSize = [NSFont systemFontSize];
|
| + NSFont* boldFont = [NSFont boldSystemFontOfSize:fontSize];
|
| + NSDictionary* titleAttribs = @{
|
| + NSFontAttributeName : boldFont,
|
| + NSForegroundColorAttributeName :
|
| + gfx::SkColorToDeviceNSColor(message_center::kRegularTextColor),
|
| + };
|
| +
|
| + NSFont* regularFont = [NSFont systemFontOfSize:fontSize];
|
| + NSDictionary* messageAttribs = @{
|
| + NSFontAttributeName : regularFont,
|
| + NSForegroundColorAttributeName :
|
| + gfx::SkColorToDeviceNSColor(message_center::kDimTextColor),
|
| + };
|
| +
|
| + NSMutableAttributedString* boldText =
|
| + [[NSMutableAttributedString alloc] initWithString:text];
|
| +
|
| + const NSRange titleRange = NSMakeRange(0, items[i].title.size());
|
| + [boldText setAttributes:titleAttribs range:titleRange];
|
| +
|
| + const NSRange messageRange =
|
| + NSMakeRange(items[i].title.size() + 1, items[i].message.size());
|
| + [boldText setAttributes:messageAttribs range:messageRange];
|
| +
|
| + NSTextField* field = [self newLabelWithFrame:NSMakeRect(10, i * 20, 200, 20)];
|
| + [field setAttributedStringValue:[boldText autorelease]];
|
| +
|
| + [listItemView_ addSubview:field];
|
| + y += 20;
|
| +
|
| + //[GTMUILocalizerAndLayoutTweaker sizeToFitFixedWidthTextField:message_];
|
| + //NSRect messageFrame = [message_ frame];
|
| + //messageFrame.origin.y =
|
| + //NSMinY(titleFrame) - messagePadding - NSHeight(messageFrame);
|
| + //messageFrame.size.height = NSHeight([message_ frame]);
|
| + //ItemView* item_view = new ItemView(items[i]);
|
| + //item_view->SetVisible(is_expanded());
|
| + //item_view->set_border(MakeTextBorder(padding, i ? 0 : 4, 0));
|
| + //item_views_.push_back(item_view);
|
| + //top_view_->AddChildView(item_view);
|
| + //accessible_lines.push_back(
|
| + // items[i].title + base::ASCIIToUTF16(" ") + items[i].message);
|
| + }
|
| + frame.size.height = y;
|
| + [listItemView_ setFrame:frame];
|
| + [[self view] addSubview:listItemView_];
|
| + }
|
| +
|
| + // FIXME: this is now wrong
|
| // In this basic notification UI, the message body is the bottom-most
|
| // vertical element. If it is out of the rootView's bounds, resize the view.
|
| if (NSMinY(messageFrame) < messagePadding) {
|
|
|