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

Side by Side Diff: chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm

Issue 7054031: Mac: Use cross-platform menu model for profile button. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 7 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/tabs/tab_strip_controller.h" 5 #import "chrome/browser/ui/cocoa/tabs/tab_strip_controller.h"
6 6
7 #import <QuartzCore/QuartzCore.h> 7 #import <QuartzCore/QuartzCore.h>
8 8
9 #include <limits> 9 #include <limits>
10 #include <string> 10 #include <string>
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 - (NSInteger)numberOfOpenNonMiniTabs; 168 - (NSInteger)numberOfOpenNonMiniTabs;
169 - (void)mouseMoved:(NSEvent*)event; 169 - (void)mouseMoved:(NSEvent*)event;
170 - (void)setTabTrackingAreasEnabled:(BOOL)enabled; 170 - (void)setTabTrackingAreasEnabled:(BOOL)enabled;
171 - (void)droppingURLsAt:(NSPoint)point 171 - (void)droppingURLsAt:(NSPoint)point
172 givesIndex:(NSInteger*)index 172 givesIndex:(NSInteger*)index
173 disposition:(WindowOpenDisposition*)disposition; 173 disposition:(WindowOpenDisposition*)disposition;
174 - (void)setNewTabButtonHoverState:(BOOL)showHover; 174 - (void)setNewTabButtonHoverState:(BOOL)showHover;
175 - (void)updateCommonTitlePrefix; 175 - (void)updateCommonTitlePrefix;
176 - (BOOL)shouldShowProfileMenuButton; 176 - (BOOL)shouldShowProfileMenuButton;
177 - (void)updateProfileMenuButton; 177 - (void)updateProfileMenuButton;
178 - (void)createNewProfile:(id)sender;
179 @end 178 @end
180 179
181 // A simple view class that prevents the Window Server from dragging the area 180 // A simple view class that prevents the Window Server from dragging the area
182 // behind tabs. Sometimes core animation confuses it. Unfortunately, it can also 181 // behind tabs. Sometimes core animation confuses it. Unfortunately, it can also
183 // falsely pick up clicks during rapid tab closure, so we have to account for 182 // falsely pick up clicks during rapid tab closure, so we have to account for
184 // that. 183 // that.
185 @interface TabStripControllerDragBlockingView : NSView { 184 @interface TabStripControllerDragBlockingView : NSView {
186 TabStripController* controller_; // weak; owns us 185 TabStripController* controller_; // weak; owns us
187 } 186 }
188 187
(...skipping 1981 matching lines...) Expand 10 before | Expand all | Expand 10 after
2170 if (![self shouldShowProfileMenuButton]) { 2169 if (![self shouldShowProfileMenuButton]) {
2171 [profileMenuButton_ setHidden:YES]; 2170 [profileMenuButton_ setHidden:YES];
2172 return; 2171 return;
2173 } 2172 }
2174 2173
2175 std::string profileName = browser_->profile()->GetPrefs()->GetString( 2174 std::string profileName = browser_->profile()->GetPrefs()->GetString(
2176 prefs::kGoogleServicesUsername); 2175 prefs::kGoogleServicesUsername);
2177 [profileMenuButton_ setProfileDisplayName: 2176 [profileMenuButton_ setProfileDisplayName:
2178 [NSString stringWithUTF8String:profileName.c_str()]]; 2177 [NSString stringWithUTF8String:profileName.c_str()]];
2179 [profileMenuButton_ setHidden:NO]; 2178 [profileMenuButton_ setHidden:NO];
2180
2181 NSMenu* menu = [profileMenuButton_ menu];
2182 while ([menu numberOfItems] > 0) {
2183 [menu removeItemAtIndex:0];
2184 }
2185
2186 NSString* menuTitle =
2187 l10n_util::GetNSStringWithFixup(IDS_PROFILES_CREATE_NEW_PROFILE_OPTION);
2188 NSMenuItem* menuItem = [menu addItemWithTitle:menuTitle
2189 action:@selector(createNewProfile:)
2190 keyEquivalent:@""];
2191 [menuItem setState:NSOffState];
2192 [menuItem setTarget:self];
2193 }
2194
2195 - (void)createNewProfile:(id)sender {
2196 ProfileManager::CreateMultiProfileAsync();
2197 } 2179 }
2198 2180
2199 @end 2181 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698