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_STATUS_AREA_WIDGET_H_ | 5 #ifndef ASH_SYSTEM_STATUS_AREA_WIDGET_H_ |
6 #define ASH_SYSTEM_STATUS_AREA_WIDGET_H_ | 6 #define ASH_SYSTEM_STATUS_AREA_WIDGET_H_ |
7 | 7 |
8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
9 #include "ash/launcher/background_animator.h" | 9 #include "ash/shelf/shelf_types.h" |
10 #include "ash/shelf_types.h" | |
11 #include "ash/system/user/login_status.h" | 10 #include "ash/system/user/login_status.h" |
12 #include "ui/views/widget/widget.h" | 11 #include "ui/views/widget/widget.h" |
13 | 12 |
14 namespace ash { | 13 namespace ash { |
15 | 14 |
16 class ShellDelegate; | 15 class ShellDelegate; |
17 class SystemTray; | 16 class SystemTray; |
18 class WebNotificationTray; | 17 class WebNotificationTray; |
19 | 18 |
20 namespace internal { | 19 namespace internal { |
21 | 20 |
22 class StatusAreaWidgetDelegate; | 21 class StatusAreaWidgetDelegate; |
23 | 22 |
24 class ASH_EXPORT StatusAreaWidget : public views::Widget { | 23 class ASH_EXPORT StatusAreaWidget : public views::Widget { |
25 public: | 24 public: |
26 explicit StatusAreaWidget(aura::Window* status_container); | 25 explicit StatusAreaWidget(aura::Window* status_container); |
27 virtual ~StatusAreaWidget(); | 26 virtual ~StatusAreaWidget(); |
28 | 27 |
29 // Creates the SystemTray and the WebNotificationTray. | 28 // Creates the SystemTray and the WebNotificationTray. |
30 void CreateTrayViews(); | 29 void CreateTrayViews(); |
31 | 30 |
32 // Destroys the system tray and web notification tray. Called before | 31 // Destroys the system tray and web notification tray. Called before |
33 // tearing down the windows to avoid shutdown ordering issues. | 32 // tearing down the windows to avoid shutdown ordering issues. |
34 void Shutdown(); | 33 void Shutdown(); |
35 | 34 |
36 // Update the alignment of the widget and tray views. | 35 // Update the alignment of the widget and tray views. |
37 void SetShelfAlignment(ShelfAlignment alignment); | 36 void SetShelfAlignment(ShelfAlignment alignment); |
38 | 37 |
39 // Update whether to paint a background for each tray view. | |
40 void SetPaintsBackground( | |
41 bool value, | |
42 internal::BackgroundAnimator::ChangeType change_type); | |
43 | |
44 // Set the visibility state of web notifications. | 38 // Set the visibility state of web notifications. |
45 void SetHideWebNotifications(bool hide); | 39 void SetHideWebNotifications(bool hide); |
46 | 40 |
47 // Set the visibility of system notifications. | 41 // Set the visibility of system notifications. |
48 void SetHideSystemNotifications(bool hide); | 42 void SetHideSystemNotifications(bool hide); |
49 | 43 |
50 // Returns true if it is OK to show a non system notification. | 44 // Returns true if it is OK to show a non system notification. |
51 bool ShouldShowWebNotifications(); | 45 bool ShouldShowWebNotifications(); |
52 | 46 |
53 // Called by the client when the login status changes. Caches login_status | 47 // Called by the client when the login status changes. Caches login_status |
(...skipping 29 matching lines...) Expand all Loading... |
83 WebNotificationTray* web_notification_tray_; | 77 WebNotificationTray* web_notification_tray_; |
84 user::LoginStatus login_status_; | 78 user::LoginStatus login_status_; |
85 | 79 |
86 DISALLOW_COPY_AND_ASSIGN(StatusAreaWidget); | 80 DISALLOW_COPY_AND_ASSIGN(StatusAreaWidget); |
87 }; | 81 }; |
88 | 82 |
89 } // namespace internal | 83 } // namespace internal |
90 } // namespace ash | 84 } // namespace ash |
91 | 85 |
92 #endif // ASH_SYSTEM_STATUS_AREA_WIDGET_H_ | 86 #endif // ASH_SYSTEM_STATUS_AREA_WIDGET_H_ |
OLD | NEW |