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

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.mm

Issue 8141003: [Mac] Restore the old bookmark menus now that the experiment is over. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/bookmarks/bookmark_menu_cocoa_controller.h" 5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.h"
6 6
7 #include "base/sys_string_conversions.h" 7 #include "base/sys_string_conversions.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "chrome/app/chrome_command_ids.h" // IDC_BOOKMARK_MENU 9 #include "chrome/app/chrome_command_ids.h" // IDC_BOOKMARK_MENU
10 #import "chrome/browser/app_controller_mac.h" 10 #import "chrome/browser/app_controller_mac.h"
11 #include "chrome/browser/bookmarks/bookmark_model.h" 11 #include "chrome/browser/bookmarks/bookmark_model.h"
12 #include "chrome/browser/bookmarks/bookmark_utils.h" 12 #include "chrome/browser/bookmarks/bookmark_utils.h"
13 #include "chrome/browser/ui/browser.h" 13 #include "chrome/browser/ui/browser.h"
14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h" 14 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.h"
15 #include "chrome/browser/ui/cocoa/event_utils.h" 15 #include "chrome/browser/ui/cocoa/event_utils.h"
16 #include "content/browser/user_metrics.h" 16 #include "content/browser/user_metrics.h"
17 #include "ui/base/text/text_elider.h" 17 #include "ui/base/text/text_elider.h"
18 18
19 namespace { 19 namespace {
20 20
21 // Menus more than this many pixels wide will get trimmed 21 // Menus more than this many pixels wide will get trimmed
22 // TODO(jrg): ask UI dudes what a good value is. 22 // TODO(jrg): ask UI dudes what a good value is.
23 const NSUInteger kMaximumMenuPixelsWide = 300; 23 const NSUInteger kMaximumMenuPixelsWide = 300;
24 24
25 } 25 }
26 26
27 @implementation BookmarkMenuCocoaController 27 @implementation BookmarkMenuCocoaController
28 28
29 @synthesize delegate = delegate_;
30
31 + (NSString*)menuTitleForNode:(const BookmarkNode*)node { 29 + (NSString*)menuTitleForNode:(const BookmarkNode*)node {
32 NSFont* nsfont = [NSFont menuBarFontOfSize:0]; // 0 means "default" 30 NSFont* nsfont = [NSFont menuBarFontOfSize:0]; // 0 means "default"
33 gfx::Font font(base::SysNSStringToUTF16([nsfont fontName]), 31 gfx::Font font(base::SysNSStringToUTF16([nsfont fontName]),
34 static_cast<int>([nsfont pointSize])); 32 static_cast<int>([nsfont pointSize]));
35 string16 title = ui::ElideText(node->GetTitle(), 33 string16 title = ui::ElideText(node->GetTitle(),
36 font, 34 font,
37 kMaximumMenuPixelsWide, 35 kMaximumMenuPixelsWide,
38 false); 36 false);
39 return base::SysUTF16ToNSString(title); 37 return base::SysUTF16ToNSString(title);
40 } 38 }
(...skipping 28 matching lines...) Expand all
69 67
70 - (NSMenu*)menu { 68 - (NSMenu*)menu {
71 return menu_; 69 return menu_;
72 } 70 }
73 71
74 - (BOOL)validateMenuItem:(NSMenuItem*)menuItem { 72 - (BOOL)validateMenuItem:(NSMenuItem*)menuItem {
75 AppController* controller = [NSApp delegate]; 73 AppController* controller = [NSApp delegate];
76 return [controller keyWindowIsNotModal]; 74 return [controller keyWindowIsNotModal];
77 } 75 }
78 76
79 // NSMenuDelegate //////////////////////////////////////////////////////////////
80
81 // NSMenu delegate method: called just before menu is displayed. 77 // NSMenu delegate method: called just before menu is displayed.
82 - (void)menuNeedsUpdate:(NSMenu*)menu { 78 - (void)menuNeedsUpdate:(NSMenu*)menu {
83 bridge_->UpdateMenu(menu); 79 bridge_->UpdateMenu(menu);
84 } 80 }
85 81
86 - (void)menuWillOpen:(NSMenu*)menu {
87 if ([delegate_ respondsToSelector:@selector(bookmarkMenuWillOpen:)])
88 [delegate_ bookmarkMenuWillOpen:self];
89 }
90
91 - (void)menuDidClose:(NSMenu*)menu {
92 if ([delegate_ respondsToSelector:@selector(bookmarkMenuDidClose:)])
93 [delegate_ bookmarkMenuDidClose:self];
94 }
95
96 // Private /////////////////////////////////////////////////////////////////////
97
98 // Return the a BookmarkNode that has the given id (called 82 // Return the a BookmarkNode that has the given id (called
99 // "identifier" here to avoid conflict with objc's concept of "id"). 83 // "identifier" here to avoid conflict with objc's concept of "id").
100 - (const BookmarkNode*)nodeForIdentifier:(int)identifier { 84 - (const BookmarkNode*)nodeForIdentifier:(int)identifier {
101 return bridge_->GetBookmarkModel()->GetNodeByID(identifier); 85 return bridge_->GetBookmarkModel()->GetNodeByID(identifier);
102 } 86 }
103 87
104 // Open the URL of the given BookmarkNode in the current tab. 88 // Open the URL of the given BookmarkNode in the current tab.
105 - (void)openURLForNode:(const BookmarkNode*)node { 89 - (void)openURLForNode:(const BookmarkNode*)node {
106 Browser* browser = Browser::GetTabbedBrowser(bridge_->GetProfile(), true); 90 Browser* browser = Browser::GetTabbedBrowser(bridge_->GetProfile(), true);
107 if (!browser) 91 if (!browser)
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 142
159 - (IBAction)openAllBookmarksNewWindow:(id)sender { 143 - (IBAction)openAllBookmarksNewWindow:(id)sender {
160 [self openAll:[sender tag] withDisposition:NEW_WINDOW]; 144 [self openAll:[sender tag] withDisposition:NEW_WINDOW];
161 } 145 }
162 146
163 - (IBAction)openAllBookmarksIncognitoWindow:(id)sender { 147 - (IBAction)openAllBookmarksIncognitoWindow:(id)sender {
164 [self openAll:[sender tag] withDisposition:OFF_THE_RECORD]; 148 [self openAll:[sender tag] withDisposition:OFF_THE_RECORD];
165 } 149 }
166 150
167 @end // BookmarkMenuCocoaController 151 @end // BookmarkMenuCocoaController
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/bookmarks/bookmark_menu_cocoa_controller.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698