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 12namespace ash { 13namespace 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. 17class 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