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 #ifndef ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_ 6 #define ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_ 7 8 #include "ash/ash_export.h" 9 #include "ash/system/tray/system_tray_item.h" 10 11 namespace ash { 12 13 // This tray item is showing an additional separator line between the logged in 14 // users and the rest of the system tray menu. The separator will only be shown 15 // when there are at least two users logged in. 16 class ASH_EXPORT TrayUserSeparator : public SystemTrayItem { 17 public: 18 explicit TrayUserSeparator(SystemTray* system_tray); ~TrayUserSeparator()19 virtual ~TrayUserSeparator() {} 20 21 // Returns true if the separator gets shown. separator_shown()22 bool separator_shown() { return separator_shown_; } 23 24 private: 25 // Overridden from SystemTrayItem. 26 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; 27 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; 28 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; DestroyTrayView()29 virtual void DestroyTrayView() OVERRIDE {} 30 virtual void DestroyDefaultView() OVERRIDE; DestroyDetailedView()31 virtual void DestroyDetailedView() OVERRIDE {} UpdateAfterLoginStatusChange(user::LoginStatus status)32 virtual void UpdateAfterLoginStatusChange( 33 user::LoginStatus status) OVERRIDE {} UpdateAfterShelfAlignmentChange(ShelfAlignment alignment)34 virtual void UpdateAfterShelfAlignmentChange( 35 ShelfAlignment alignment) OVERRIDE {} 36 37 // True if the separator gets shown. 38 bool separator_shown_; 39 40 DISALLOW_COPY_AND_ASSIGN(TrayUserSeparator); 41 }; 42 43 } // namespace ash 44 45 #endif // ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_ 46