Home | History | Annotate | Download | only in user
      1 // Copyright 2013 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 #include "ash/system/user/tray_user_separator.h"
      6 
      7 #include "ash/session/session_state_delegate.h"
      8 #include "ash/shell.h"
      9 #include "ui/views/view.h"
     10 
     11 namespace ash {
     12 
     13 TrayUserSeparator::TrayUserSeparator(SystemTray* system_tray)
     14     : SystemTrayItem(system_tray),
     15       separator_shown_(false) {
     16 }
     17 
     18 views::View* TrayUserSeparator::CreateTrayView(user::LoginStatus status) {
     19   return NULL;
     20 }
     21 
     22 views::View* TrayUserSeparator::CreateDefaultView(user::LoginStatus status) {
     23   if (status == user::LOGGED_IN_NONE)
     24     return NULL;
     25 
     26   const SessionStateDelegate* session_state_delegate =
     27       Shell::GetInstance()->session_state_delegate();
     28 
     29   // If the screen is locked, a system modal dialog or a single user is shown,
     30   // show nothing.
     31   if (session_state_delegate->IsUserSessionBlocked() ||
     32       Shell::GetInstance()->IsSystemModalWindowOpen() ||
     33       session_state_delegate->NumberOfLoggedInUsers() < 2)
     34     return NULL;
     35 
     36   separator_shown_ = true;
     37   return new views::View();
     38 }
     39 
     40 views::View* TrayUserSeparator::CreateDetailedView(user::LoginStatus status) {
     41   return NULL;
     42 }
     43 
     44 void TrayUserSeparator::DestroyDefaultView() {
     45   separator_shown_ = false;
     46 }
     47 
     48 }  // namespace ash
     49