Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(955)

Unified Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm

Issue 12550006: Mac: Add a shortcut to open the Apps page from the bookmark bar. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Minor typo. Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm
index 9ea3ec27efa1d77d4ed54e048f90c1d6c4b48803..49633f0bd6b195a831664ae4c67bc64576f946e2 100644
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_button_cell.mm
@@ -31,23 +31,34 @@ const int kHierarchyButtonXMargin = 4;
@synthesize drawFolderArrow = drawFolderArrow_;
+ (id)buttonCellForNode:(const BookmarkNode*)node
- menuController:(BookmarkContextMenuCocoaController*)menuController
- cellText:(NSString*)cellText
- cellImage:(NSImage*)cellImage {
+ text:(NSString*)text
+ image:(NSImage*)image
+ menuController:(BookmarkContextMenuCocoaController*)menuController {
id buttonCell =
[[[BookmarkButtonCell alloc] initForNode:node
- menuController:menuController
- cellText:cellText
- cellImage:cellImage]
+ text:text
+ image:image
+ menuController:menuController]
+ autorelease];
+ return buttonCell;
+}
+
++ (id)buttonCellWithText:(NSString*)text
+ image:(NSImage*)image
+ menuController:(BookmarkContextMenuCocoaController*)menuController {
+ id buttonCell =
+ [[[BookmarkButtonCell alloc] initWithText:text
+ image:image
+ menuController:menuController]
autorelease];
return buttonCell;
}
- (id)initForNode:(const BookmarkNode*)node
- menuController:(BookmarkContextMenuCocoaController*)menuController
- cellText:(NSString*)cellText
- cellImage:(NSImage*)cellImage {
- if ((self = [super initTextCell:cellText])) {
+ text:(NSString*)text
+ image:(NSImage*)image
+ menuController:(BookmarkContextMenuCocoaController*)menuController {
+ if ((self = [super initTextCell:text])) {
menuController_ = menuController;
[self configureBookmarkButtonCell];
[self setTextColor:[NSColor blackColor]];
@@ -55,7 +66,7 @@ const int kHierarchyButtonXMargin = 4;
if (node) {
NSString* title = base::SysUTF16ToNSString(node->GetTitle());
- [self setBookmarkCellText:title image:cellImage];
+ [self setBookmarkCellText:title image:image];
} else {
[self setEmpty:YES];
[self setBookmarkCellText:l10n_util::GetNSString(IDS_MENU_EMPTY_SUBMENU)
@@ -66,11 +77,25 @@ const int kHierarchyButtonXMargin = 4;
return self;
}
+- (id)initWithText:(NSString*)text
+ image:(NSImage*)image
+ menuController:(BookmarkContextMenuCocoaController*)menuController {
+ if ((self = [super initTextCell:text])) {
+ menuController_ = menuController;
+ [self configureBookmarkButtonCell];
+ [self setTextColor:[NSColor blackColor]];
+ [self setBookmarkNode:NULL];
+ [self setBookmarkCellText:text image:image];
+ // This is a custom button not attached to any node. It is no considered
+ // empty even if its bookmark node is NULL.
+ [self setEmpty:NO];
+ }
+
+ return self;
+}
+
- (id)initTextCell:(NSString*)string {
- return [self initForNode:nil
- menuController:nil
- cellText:string
- cellImage:nil];
+ return [self initForNode:nil text:string image:nil menuController:nil];
}
// Used by the off-the-side menu, the only case where a
@@ -161,8 +186,12 @@ const int kHierarchyButtonXMargin = 4;
if (empty_)
return nil;
+ // If node is NULL, this is a custom button, the menu does not represent
+ // anything.
const BookmarkNode* node = [self bookmarkNode];
- if (node->parent() && node->parent()->type() == BookmarkNode::FOLDER) {
+
+ if (node && node->parent() &&
+ node->parent()->type() == BookmarkNode::FOLDER) {
content::RecordAction(UserMetricsAction("BookmarkBarFolder_CtxMenu"));
} else {
content::RecordAction(UserMetricsAction("BookmarkBar_CtxMenu"));

Powered by Google App Engine
This is Rietveld 408576698