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

Side by Side Diff: ash/system/tray/system_tray.cc

Issue 14756019: Adding new user menu section to the SystemTrayMenu & refactoring of user access (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More windows breakages addressed Created 7 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "ash/system/tray/system_tray.h" 5 #include "ash/system/tray/system_tray.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/shelf/shelf_layout_manager.h" 8 #include "ash/shelf/shelf_layout_manager.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/shell/panel_window.h" 10 #include "ash/shell/panel_window.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 131
132 void SystemTray::InitializeTrayItems(SystemTrayDelegate* delegate) { 132 void SystemTray::InitializeTrayItems(SystemTrayDelegate* delegate) {
133 internal::TrayBackgroundView::Initialize(); 133 internal::TrayBackgroundView::Initialize();
134 CreateItems(delegate); 134 CreateItems(delegate);
135 } 135 }
136 136
137 void SystemTray::CreateItems(SystemTrayDelegate* delegate) { 137 void SystemTray::CreateItems(SystemTrayDelegate* delegate) {
138 #if !defined(OS_WIN) 138 #if !defined(OS_WIN)
139 AddTrayItem(new internal::TraySessionLengthLimit(this)); 139 AddTrayItem(new internal::TraySessionLengthLimit(this));
140 AddTrayItem(new internal::TrayLogoutButton(this)); 140 AddTrayItem(new internal::TrayLogoutButton(this));
141 AddTrayItem(new internal::TrayUser(this)); 141 // In multi-profile user mode we can have multiple user tiles.
142 ash::Shell* shell = ash::Shell::GetInstance();
143 int maximum_user_profiles =
144 shell->delegate()->IsMultiProfilesEnabled() ?
145 shell->session_state_delegate()->GetMaximumNumberOfLoggedInUsers() :
146 0;
147 // Note: We purposely use one more item then logged in users to account for
148 // the additional separator.
149 for (int i = 0; i <= maximum_user_profiles; i++)
150 AddTrayItem(new internal::TrayUser(this, i));
151
142 #endif 152 #endif
143 #if defined(OS_CHROMEOS) 153 #if defined(OS_CHROMEOS)
144 AddTrayItem(new internal::TrayEnterprise(this)); 154 AddTrayItem(new internal::TrayEnterprise(this));
145 AddTrayItem(new internal::TrayLocallyManagedUser(this)); 155 AddTrayItem(new internal::TrayLocallyManagedUser(this));
146 #endif 156 #endif
147 AddTrayItem(new internal::TrayIME(this)); 157 AddTrayItem(new internal::TrayIME(this));
148 tray_accessibility_ = new internal::TrayAccessibility(this); 158 tray_accessibility_ = new internal::TrayAccessibility(this);
149 AddTrayItem(tray_accessibility_); 159 AddTrayItem(tray_accessibility_);
150 #if defined(OS_CHROMEOS) 160 #if defined(OS_CHROMEOS)
151 AddTrayItem(new internal::TrayPower(this)); 161 AddTrayItem(new internal::TrayPower(this));
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 ConvertPointToWidget(this, &point); 576 ConvertPointToWidget(this, &point);
567 arrow_offset = point.x(); 577 arrow_offset = point.x();
568 } 578 }
569 } 579 }
570 ShowDefaultViewWithOffset(BUBBLE_CREATE_NEW, arrow_offset); 580 ShowDefaultViewWithOffset(BUBBLE_CREATE_NEW, arrow_offset);
571 } 581 }
572 return true; 582 return true;
573 } 583 }
574 584
575 } // namespace ash 585 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698