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