Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(331)

Side by Side Diff: ash/system/status_area_widget.h

Issue 10823350: Re-factor system tray code controlling launcher visibility (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | ash/system/status_area_widget.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/launcher/background_animator.h"
10 #include "ash/system/user/login_status.h" 10 #include "ash/system/user/login_status.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 void SetHideSystemNotifications(bool hide); 49 void SetHideSystemNotifications(bool hide);
50 50
51 // Returns true if it is OK to show a non system notification. 51 // Returns true if it is OK to show a non system notification.
52 bool ShouldShowNonSystemNotifications(); 52 bool ShouldShowNonSystemNotifications();
53 53
54 // Called by the client when the login status changes. Caches login_status 54 // Called by the client when the login status changes. Caches login_status
55 // and calls UpdateAfterLoginStatusChange for the system tray and the web 55 // and calls UpdateAfterLoginStatusChange for the system tray and the web
56 // notification tray. 56 // notification tray.
57 void UpdateAfterLoginStatusChange(user::LoginStatus login_status); 57 void UpdateAfterLoginStatusChange(user::LoginStatus login_status);
58 58
59 // Called whenever the launcher auto-hide behavior may need updating.
60 // This sets should_show_launcher_ and calls
61 // ShelfLayoutManager::UpdateAutoHideState() if the state has changed.
62 void UpdateShouldShowLauncher();
63
59 internal::StatusAreaWidgetDelegate* status_area_widget_delegate() { 64 internal::StatusAreaWidgetDelegate* status_area_widget_delegate() {
60 return status_area_widget_delegate_; 65 return status_area_widget_delegate_;
61 } 66 }
62 SystemTray* system_tray() { return system_tray_; } 67 SystemTray* system_tray() { return system_tray_; }
63 SystemTrayDelegate* system_tray_delegate() { 68 SystemTrayDelegate* system_tray_delegate() {
64 return system_tray_delegate_.get(); 69 return system_tray_delegate_.get();
65 } 70 }
66 WebNotificationTray* web_notification_tray() { 71 WebNotificationTray* web_notification_tray() {
67 return web_notification_tray_; 72 return web_notification_tray_;
68 } 73 }
69 74
70 user::LoginStatus login_status() const { return login_status_; } 75 user::LoginStatus login_status() const { return login_status_; }
71 76
77 bool should_show_launcher() const { return should_show_launcher_; }
78
72 private: 79 private:
73 void AddSystemTray(ShellDelegate* shell_delegate); 80 void AddSystemTray(ShellDelegate* shell_delegate);
74 void AddWebNotificationTray(); 81 void AddWebNotificationTray();
75 82
76 scoped_ptr<SystemTrayDelegate> system_tray_delegate_; 83 scoped_ptr<SystemTrayDelegate> system_tray_delegate_;
77 // Weak pointers to View classes that are parented to StatusAreaWidget: 84 // Weak pointers to View classes that are parented to StatusAreaWidget:
78 internal::StatusAreaWidgetDelegate* status_area_widget_delegate_; 85 internal::StatusAreaWidgetDelegate* status_area_widget_delegate_;
79 SystemTray* system_tray_; 86 SystemTray* system_tray_;
80 WebNotificationTray* web_notification_tray_; 87 WebNotificationTray* web_notification_tray_;
81 user::LoginStatus login_status_; 88 user::LoginStatus login_status_;
89 bool should_show_launcher_;
82 90
83 DISALLOW_COPY_AND_ASSIGN(StatusAreaWidget); 91 DISALLOW_COPY_AND_ASSIGN(StatusAreaWidget);
84 }; 92 };
85 93
86 } // namespace internal 94 } // namespace internal
87 } // namespace ash 95 } // namespace ash
88 96
89 #endif // ASH_SYSTEM_STATUS_AREA_WIDGET_H_ 97 #endif // ASH_SYSTEM_STATUS_AREA_WIDGET_H_
OLDNEW
« no previous file with comments | « no previous file | ash/system/status_area_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698