| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/profiles/profile_chooser_controller.h" | 5 #import "chrome/browser/ui/cocoa/profiles/profile_chooser_controller.h" |
| 6 | 6 |
| 7 #import <Carbon/Carbon.h> // kVK_Return. | 7 #import <Carbon/Carbon.h> // kVK_Return. |
| 8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
| 9 #include <stddef.h> | 9 #include <stddef.h> |
| 10 | 10 |
| (...skipping 1545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1556 base::scoped_nsobject<NSView> container( | 1556 base::scoped_nsobject<NSView> container( |
| 1557 [[NSView alloc] initWithFrame:NSZeroRect]); | 1557 [[NSView alloc] initWithFrame:NSZeroRect]); |
| 1558 | 1558 |
| 1559 NSView* tutorialView = nil; | 1559 NSView* tutorialView = nil; |
| 1560 NSView* syncErrorView = nil; | 1560 NSView* syncErrorView = nil; |
| 1561 NSView* currentProfileView = nil; | 1561 NSView* currentProfileView = nil; |
| 1562 base::scoped_nsobject<NSMutableArray> otherProfiles( | 1562 base::scoped_nsobject<NSMutableArray> otherProfiles( |
| 1563 [[NSMutableArray alloc] init]); | 1563 [[NSMutableArray alloc] init]); |
| 1564 // Local and guest profiles cannot lock their profile. | 1564 // Local and guest profiles cannot lock their profile. |
| 1565 bool showLock = false; | 1565 bool showLock = false; |
| 1566 bool isFastProfileChooser = | 1566 bool isFastProfileChooser = switches::IsMaterialDesignUserMenu() ? |
| 1567 viewMode_ == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER; | 1567 false : viewMode_ == profiles::BUBBLE_VIEW_MODE_FAST_PROFILE_CHOOSER; |
| 1568 if (isFastProfileChooser) { | 1568 if (isFastProfileChooser) { |
| 1569 // The user is using right-click switching, no need to tell them about it. | 1569 // The user is using right-click switching, no need to tell them about it. |
| 1570 PrefService* localState = g_browser_process->local_state(); | 1570 PrefService* localState = g_browser_process->local_state(); |
| 1571 localState->SetBoolean( | 1571 localState->SetBoolean( |
| 1572 prefs::kProfileAvatarRightClickTutorialDismissed, true); | 1572 prefs::kProfileAvatarRightClickTutorialDismissed, true); |
| 1573 } | 1573 } |
| 1574 | 1574 |
| 1575 // Loop over the profiles in reverse, so that they are sorted by their | 1575 // Loop over the profiles in reverse, so that they are sorted by their |
| 1576 // y-coordinate, and separate them into active and "other" profiles. | 1576 // y-coordinate, and separate them into active and "other" profiles. |
| 1577 for (int i = avatarMenu_->GetNumberOfItems() - 1; i >= 0; --i) { | 1577 for (int i = avatarMenu_->GetNumberOfItems() - 1; i >= 0; --i) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1594 } | 1594 } |
| 1595 if (!currentProfileView) // Guest windows don't have an active profile. | 1595 if (!currentProfileView) // Guest windows don't have an active profile. |
| 1596 currentProfileView = [self createGuestProfileView]; | 1596 currentProfileView = [self createGuestProfileView]; |
| 1597 | 1597 |
| 1598 // |yOffset| is the next position at which to draw in |container| | 1598 // |yOffset| is the next position at which to draw in |container| |
| 1599 // coordinates. Add a pixel offset so that the bottom option buttons don't | 1599 // coordinates. Add a pixel offset so that the bottom option buttons don't |
| 1600 // overlap the bubble's rounded corners. | 1600 // overlap the bubble's rounded corners. |
| 1601 CGFloat yOffset = 1; | 1601 CGFloat yOffset = 1; |
| 1602 | 1602 |
| 1603 if (isFastProfileChooser) { | 1603 if (isFastProfileChooser) { |
| 1604 if (!switches::IsMaterialDesignUserMenu()) { | 1604 [self buildFastUserSwitcherViewWithProfiles:otherProfiles.get() |
| 1605 [self buildFastUserSwitcherViewWithProfiles:otherProfiles.get() | 1605 atYOffset:yOffset |
| 1606 atYOffset:yOffset | 1606 inContainer:container]; |
| 1607 inContainer:container]; | |
| 1608 } | |
| 1609 } else { | 1607 } else { |
| 1610 [self buildProfileChooserViewWithProfileView:currentProfileView | 1608 [self buildProfileChooserViewWithProfileView:currentProfileView |
| 1611 tutorialView:tutorialView | 1609 tutorialView:tutorialView |
| 1612 syncErrorView:syncErrorView | 1610 syncErrorView:syncErrorView |
| 1613 otherProfiles:otherProfiles.get() | 1611 otherProfiles:otherProfiles.get() |
| 1614 atYOffset:yOffset | 1612 atYOffset:yOffset |
| 1615 inContainer:container | 1613 inContainer:container |
| 1616 showLock:showLock]; | 1614 showLock:showLock]; |
| 1617 } | 1615 } |
| 1618 | 1616 |
| (...skipping 1315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2934 } | 2932 } |
| 2935 | 2933 |
| 2936 - (bool)shouldShowGoIncognito { | 2934 - (bool)shouldShowGoIncognito { |
| 2937 bool incognitoAvailable = | 2935 bool incognitoAvailable = |
| 2938 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) != | 2936 IncognitoModePrefs::GetAvailability(browser_->profile()->GetPrefs()) != |
| 2939 IncognitoModePrefs::DISABLED; | 2937 IncognitoModePrefs::DISABLED; |
| 2940 return incognitoAvailable && !browser_->profile()->IsGuestSession(); | 2938 return incognitoAvailable && !browser_->profile()->IsGuestSession(); |
| 2941 } | 2939 } |
| 2942 | 2940 |
| 2943 @end | 2941 @end |
| OLD | NEW |