| 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 }; | 32 }; |
| 33 |
| 34 enum DateAction { |
| 35 NONE, |
| 36 SET_SYSTEM_TIME, |
| 37 SHOW_DATE_SETTINGS, |
| 38 }; |
| 39 |
| 33 explicit TrayDate(SystemTray* system_tray); | 40 explicit TrayDate(SystemTray* system_tray); |
| 34 virtual ~TrayDate(); | 41 virtual ~TrayDate(); |
| 35 | 42 |
| 36 // Returns view for help button if it is exists. Returns NULL otherwise. | 43 // Returns view for help button if it is exists. Returns NULL otherwise. |
| 37 views::View* GetHelpButtonView() const; | 44 views::View* GetHelpButtonView() const; |
| 38 | 45 |
| 39 const tray::TimeView* GetTimeTrayForTesting() const; | 46 const tray::TimeView* GetTimeTrayForTesting() const; |
| 40 const DateDefaultView* GetDefaultViewForTesting() const; | 47 const DateDefaultView* GetDefaultViewForTesting() const; |
| 41 views::View* CreateDefaultViewForTesting(user::LoginStatus status); | 48 views::View* CreateDefaultViewForTesting(user::LoginStatus status); |
| 42 | 49 |
| 43 private: | 50 private: |
| 44 // Overridden from SystemTrayItem. | 51 // Overridden from SystemTrayItem. |
| 45 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; | 52 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; |
| 46 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; | 53 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; |
| 47 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; | 54 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; |
| 48 virtual void DestroyTrayView() OVERRIDE; | 55 virtual void DestroyTrayView() OVERRIDE; |
| 49 virtual void DestroyDefaultView() OVERRIDE; | 56 virtual void DestroyDefaultView() OVERRIDE; |
| 50 virtual void DestroyDetailedView() OVERRIDE; | 57 virtual void DestroyDetailedView() OVERRIDE; |
| 51 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; | 58 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; |
| 52 virtual void UpdateAfterShelfAlignmentChange( | 59 virtual void UpdateAfterShelfAlignmentChange( |
| 53 ShelfAlignment alignment) OVERRIDE; | 60 ShelfAlignment alignment) OVERRIDE; |
| 54 | 61 |
| 55 // Overridden from ClockObserver. | 62 // Overridden from ClockObserver. |
| 56 virtual void OnDateFormatChanged() OVERRIDE; | 63 virtual void OnDateFormatChanged() OVERRIDE; |
| 57 virtual void OnSystemClockTimeUpdated() OVERRIDE; | 64 virtual void OnSystemClockTimeUpdated() OVERRIDE; |
| 65 virtual void OnSystemClockCanSetTimeChanged(bool can_set_time) OVERRIDE; |
| 58 virtual void Refresh() OVERRIDE; | 66 virtual void Refresh() OVERRIDE; |
| 59 | 67 |
| 60 void SetupLabelForTimeTray(views::Label* label); | 68 void SetupLabelForTimeTray(views::Label* label); |
| 61 | 69 |
| 62 tray::TimeView* time_tray_; | 70 tray::TimeView* time_tray_; |
| 63 DateDefaultView* default_view_; | 71 DateDefaultView* default_view_; |
| 72 user::LoginStatus login_status_; |
| 64 | 73 |
| 65 #if defined(OS_CHROMEOS) | 74 #if defined(OS_CHROMEOS) |
| 66 scoped_ptr<SystemClockObserver> system_clock_observer_; | 75 scoped_ptr<SystemClockObserver> system_clock_observer_; |
| 67 #endif | 76 #endif |
| 68 | 77 |
| 69 DISALLOW_COPY_AND_ASSIGN(TrayDate); | 78 DISALLOW_COPY_AND_ASSIGN(TrayDate); |
| 70 }; | 79 }; |
| 71 | 80 |
| 72 } // namespace ash | 81 } // namespace ash |
| 73 | 82 |
| 74 #endif // ASH_SYSTEM_DATE_TRAY_DATE_H_ | 83 #endif // ASH_SYSTEM_DATE_TRAY_DATE_H_ |
| OLD | NEW |