1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file.
4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#ifndef ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_
6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_
7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ash/ash_export.h"
9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ash/system/tray/system_tray_item.h"
10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace ash {
12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// This tray item is showing an additional separator line between the logged in
14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// users and the rest of the system tray menu. The separator will only be shown
15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// when there are at least two users logged in.
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)class ASH_EXPORT TrayUserSeparator : public SystemTrayItem {
17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) public:
18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  explicit TrayUserSeparator(SystemTray* system_tray);
19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual ~TrayUserSeparator() {}
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  // Returns true if the separator gets shown.
22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  bool separator_shown() { return separator_shown_; }
23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) private:
25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  // Overridden from SystemTrayItem.
26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE;
27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE;
29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual void DestroyTrayView() OVERRIDE {}
30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual void DestroyDefaultView() OVERRIDE;
31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual void DestroyDetailedView() OVERRIDE {}
32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual void UpdateAfterLoginStatusChange(
33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      user::LoginStatus status) OVERRIDE {}
34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual void UpdateAfterShelfAlignmentChange(
35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      ShelfAlignment alignment) OVERRIDE {}
36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  // True if the separator gets shown.
38f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  bool separator_shown_;
39f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
40f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(TrayUserSeparator);
41f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)};
42f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
43f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}  // namespace ash
44f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
45f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#endif  // ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_
46