OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_SYSTEM_DATE_TRAY_DATE_H_ | 5 #ifndef ASH_SYSTEM_DATE_TRAY_DATE_H_ |
6 #define ASH_SYSTEM_DATE_TRAY_DATE_H_ | 6 #define ASH_SYSTEM_DATE_TRAY_DATE_H_ |
7 | 7 |
8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
9 #include "ash/system/date/clock_observer.h" | 9 #include "ash/system/date/clock_observer.h" |
10 #include "ash/system/tray/system_tray_item.h" | 10 #include "ash/system/tray/system_tray_item.h" |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 | 12 |
13 namespace views { | 13 namespace views { |
14 class Label; | 14 class Label; |
15 } | 15 } |
16 | 16 |
17 namespace ash { | 17 namespace ash { |
18 class DateDefaultView; | 18 class DateDefaultView; |
19 #if defined(OS_CHROMEOS) | 19 #if defined(OS_CHROMEOS) |
20 class SystemClockObserver; | 20 class SystemClockObserver; |
21 #endif | 21 #endif |
22 | 22 |
23 namespace tray { | 23 namespace tray { |
24 class TimeView; | 24 class TimeView; |
25 } | 25 } |
26 | 26 |
27 class ASH_EXPORT TrayDate : public SystemTrayItem, public ClockObserver { | 27 class ASH_EXPORT TrayDate : public SystemTrayItem, public ClockObserver { |
28 public: | 28 public: |
29 enum ClockLayout { | 29 enum ClockLayout { |
30 HORIZONTAL_CLOCK, | 30 HORIZONTAL_CLOCK, |
31 VERTICAL_CLOCK, | 31 VERTICAL_CLOCK, |
| 32 }; |
| 33 enum DateAction { |
| 34 NONE, |
| 35 SET_SYSTEM_TIME, |
| 36 SHOW_DATE_SETTINGS, |
32 }; | 37 }; |
33 explicit TrayDate(SystemTray* system_tray); | 38 explicit TrayDate(SystemTray* system_tray); |
34 virtual ~TrayDate(); | 39 virtual ~TrayDate(); |
35 | 40 |
36 // Returns view for help button if it is exists. Returns NULL otherwise. | 41 // Returns view for help button if it is exists. Returns NULL otherwise. |
37 views::View* GetHelpButtonView() const; | 42 views::View* GetHelpButtonView() const; |
38 | 43 |
39 const tray::TimeView* GetTimeTrayForTesting() const; | 44 const tray::TimeView* GetTimeTrayForTesting() const; |
40 const DateDefaultView* GetDefaultViewForTesting() const; | 45 const DateDefaultView* GetDefaultViewForTesting() const; |
41 views::View* CreateDefaultViewForTesting(user::LoginStatus status); | 46 views::View* CreateDefaultViewForTesting(user::LoginStatus status); |
42 | 47 |
43 private: | 48 private: |
44 // Overridden from SystemTrayItem. | 49 // Overridden from SystemTrayItem. |
45 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; | 50 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; |
46 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; | 51 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; |
47 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; | 52 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; |
48 virtual void DestroyTrayView() OVERRIDE; | 53 virtual void DestroyTrayView() OVERRIDE; |
49 virtual void DestroyDefaultView() OVERRIDE; | 54 virtual void DestroyDefaultView() OVERRIDE; |
50 virtual void DestroyDetailedView() OVERRIDE; | 55 virtual void DestroyDetailedView() OVERRIDE; |
51 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; | 56 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; |
52 virtual void UpdateAfterShelfAlignmentChange( | 57 virtual void UpdateAfterShelfAlignmentChange( |
53 ShelfAlignment alignment) OVERRIDE; | 58 ShelfAlignment alignment) OVERRIDE; |
54 | 59 |
55 // Overridden from ClockObserver. | 60 // Overridden from ClockObserver. |
56 virtual void OnDateFormatChanged() OVERRIDE; | 61 virtual void OnDateFormatChanged() OVERRIDE; |
57 virtual void OnSystemClockTimeUpdated() OVERRIDE; | 62 virtual void OnSystemClockTimeUpdated() OVERRIDE; |
| 63 virtual void OnSystemClockCanSetTimeChanged(bool can_set_time) OVERRIDE; |
58 virtual void Refresh() OVERRIDE; | 64 virtual void Refresh() OVERRIDE; |
59 | 65 |
60 void SetupLabelForTimeTray(views::Label* label); | 66 void SetupLabelForTimeTray(views::Label* label); |
61 | 67 |
62 tray::TimeView* time_tray_; | 68 tray::TimeView* time_tray_; |
63 DateDefaultView* default_view_; | 69 DateDefaultView* default_view_; |
| 70 user::LoginStatus login_status_; |
64 | 71 |
65 #if defined(OS_CHROMEOS) | 72 #if defined(OS_CHROMEOS) |
66 scoped_ptr<SystemClockObserver> system_clock_observer_; | 73 scoped_ptr<SystemClockObserver> system_clock_observer_; |
67 #endif | 74 #endif |
68 | 75 |
69 DISALLOW_COPY_AND_ASSIGN(TrayDate); | 76 DISALLOW_COPY_AND_ASSIGN(TrayDate); |
70 }; | 77 }; |
71 | 78 |
72 } // namespace ash | 79 } // namespace ash |
73 | 80 |
74 #endif // ASH_SYSTEM_DATE_TRAY_DATE_H_ | 81 #endif // ASH_SYSTEM_DATE_TRAY_DATE_H_ |
OLD | NEW |