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

Side by Side Diff: ash/system/tray/system_tray.h

Issue 10823350: Re-factor system tray code controlling launcher visibility (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . 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
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_TRAY_SYSTEM_TRAY_H_ 5 #ifndef ASH_SYSTEM_TRAY_SYSTEM_TRAY_H_
6 #define ASH_SYSTEM_TRAY_SYSTEM_TRAY_H_ 6 #define ASH_SYSTEM_TRAY_SYSTEM_TRAY_H_
7 7
8 #include "ash/ash_export.h" 8 #include "ash/ash_export.h"
9 #include "ash/system/power/power_supply_status.h" 9 #include "ash/system/power/power_supply_status.h"
10 #include "ash/system/tray/tray_background_view.h" 10 #include "ash/system/tray/tray_background_view.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 88
89 // Updates the items when the login status of the system changes. 89 // Updates the items when the login status of the system changes.
90 void UpdateAfterLoginStatusChange(user::LoginStatus login_status); 90 void UpdateAfterLoginStatusChange(user::LoginStatus login_status);
91 91
92 // Updates the items when the shelf alignment changes. 92 // Updates the items when the shelf alignment changes.
93 void UpdateAfterShelfAlignmentChange(ShelfAlignment alignment); 93 void UpdateAfterShelfAlignmentChange(ShelfAlignment alignment);
94 94
95 // Temporarily hides/unhides the notification bubble. 95 // Temporarily hides/unhides the notification bubble.
96 void SetHideNotifications(bool hidden); 96 void SetHideNotifications(bool hidden);
97 97
98 // Returns true if the system bubble is visible.
99 bool IsSystemBubbleVisible() const;
100
98 // Returns true if any bubble is visible. 101 // Returns true if any bubble is visible.
99 bool IsAnyBubbleVisible() const; 102 bool IsAnyBubbleVisible() const;
100 103
101 // Returns true if the launcher should show. 104 // Returns true if the mouse is inside the notification bubble.
102 bool should_show_launcher() const { 105 bool IsMouseInNotificationBubble() const;
sadrul 2012/08/16 15:31:49 Should this be for notification bubble only?
stevenjb 2012/08/16 16:59:04 It could be either bubble, but we never call this
103 return bubble_.get() && should_show_launcher_;
104 }
105 106
106 AccessibilityObserver* accessibility_observer() const { 107 AccessibilityObserver* accessibility_observer() const {
107 return accessibility_observer_; 108 return accessibility_observer_;
108 } 109 }
109 AudioObserver* audio_observer() const { 110 AudioObserver* audio_observer() const {
110 return audio_observer_; 111 return audio_observer_;
111 } 112 }
112 BluetoothObserver* bluetooth_observer() const { 113 BluetoothObserver* bluetooth_observer() const {
113 return bluetooth_observer_; 114 return bluetooth_observer_;
114 } 115 }
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 int x_offset); 186 int x_offset);
186 187
187 // Constructs or re-constructs |notification_bubble_| and populates it with 188 // Constructs or re-constructs |notification_bubble_| and populates it with
188 // |notification_items_|, or destroys it if there are no notification items. 189 // |notification_items_|, or destroys it if there are no notification items.
189 void UpdateNotificationBubble(); 190 void UpdateNotificationBubble();
190 191
191 // Overridden from internal::ActionableView. 192 // Overridden from internal::ActionableView.
192 virtual bool PerformAction(const ui::Event& event) OVERRIDE; 193 virtual bool PerformAction(const ui::Event& event) OVERRIDE;
193 194
194 // Overridden from views::View. 195 // Overridden from views::View.
195 virtual void OnMouseEntered(const ui::MouseEvent& event) OVERRIDE;
196 virtual void OnMouseExited(const ui::MouseEvent& event) OVERRIDE;
197 virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE; 196 virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE;
198 197
199 // Owned items. 198 // Owned items.
200 ScopedVector<SystemTrayItem> items_; 199 ScopedVector<SystemTrayItem> items_;
201 200
202 // Pointers to members of |items_|. 201 // Pointers to members of |items_|.
203 SystemTrayItem* detailed_item_; 202 SystemTrayItem* detailed_item_;
204 std::vector<SystemTrayItem*> notification_items_; 203 std::vector<SystemTrayItem*> notification_items_;
205 204
206 // Mappings of system tray item and it's view in the tray. 205 // Mappings of system tray item and it's view in the tray.
(...skipping 14 matching lines...) Expand all
221 SmsObserver* sms_observer_; 220 SmsObserver* sms_observer_;
222 UpdateObserver* update_observer_; 221 UpdateObserver* update_observer_;
223 UserObserver* user_observer_; 222 UserObserver* user_observer_;
224 223
225 // Bubble for default and detailed views. 224 // Bubble for default and detailed views.
226 scoped_ptr<internal::SystemTrayBubble> bubble_; 225 scoped_ptr<internal::SystemTrayBubble> bubble_;
227 226
228 // Bubble for notifications. 227 // Bubble for notifications.
229 scoped_ptr<internal::SystemTrayBubble> notification_bubble_; 228 scoped_ptr<internal::SystemTrayBubble> notification_bubble_;
230 229
231 // See description agove getter.
232 bool should_show_launcher_;
233
234 // Keep track of the default view height so that when we create detailed 230 // Keep track of the default view height so that when we create detailed
235 // views directly (e.g. from a notification) we know what height to use. 231 // views directly (e.g. from a notification) we know what height to use.
236 int default_bubble_height_; 232 int default_bubble_height_;
237 233
238 // Set to true when system notifications should be hidden (e.g. web 234 // Set to true when system notifications should be hidden (e.g. web
239 // notification bubble is visible). 235 // notification bubble is visible).
240 bool hide_notifications_; 236 bool hide_notifications_;
241 237
242 DISALLOW_COPY_AND_ASSIGN(SystemTray); 238 DISALLOW_COPY_AND_ASSIGN(SystemTray);
243 }; 239 };
244 240
245 } // namespace ash 241 } // namespace ash
246 242
247 #endif // ASH_SYSTEM_TRAY_SYSTEM_TRAY_H_ 243 #endif // ASH_SYSTEM_TRAY_SYSTEM_TRAY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698