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 3 // found in the LICENSE file. 4 5 #ifndef ASH_SYSTEM_USER_USER_CARD_VIEW_H_ 6 #define ASH_SYSTEM_USER_USER_CARD_VIEW_H_ 7 8 #include "ash/system/user/login_status.h" 9 #include "base/macros.h" 10 #include "ui/views/view.h" 11 12 namespace ash { 13 namespace tray { 14 15 // The view displaying information about the user, such as user's avatar, email 16 // address, name, and more. View has no borders. 17 class UserCardView : public views::View { 18 public: 19 // |max_width| takes effect only if |login_status| is LOGGED_IN_PUBLIC. 20 UserCardView(user::LoginStatus login_status, 21 int max_width, 22 int multiprofile_index); 23 virtual ~UserCardView(); 24 25 private: 26 // Creates the content for the retail logged in mode. 27 void AddRetailModeUserContent(); 28 29 // Creates the content for the public mode. 30 void AddPublicModeUserContent(int max_width); 31 32 void AddUserContent(user::LoginStatus login_status, int multiprofile_index); 33 34 // Create a user icon representation. 35 views::View* CreateIcon(user::LoginStatus login_status, 36 int multiprofile_index); 37 38 DISALLOW_COPY_AND_ASSIGN(UserCardView); 39 }; 40 41 } // namespace tray 42 } // namespace ash 43 44 #endif // ASH_SYSTEM_USER_USER_CARD_VIEW_H_ 45