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_CHROMEOS_TRAY_CAPS_LOCK_H_ | 5 #ifndef ASH_SYSTEM_CHROMEOS_TRAY_CAPS_LOCK_H_ |
6 #define ASH_SYSTEM_CHROMEOS_TRAY_CAPS_LOCK_H_ | 6 #define ASH_SYSTEM_CHROMEOS_TRAY_CAPS_LOCK_H_ |
7 | 7 |
8 #include "ash/system/tray/tray_image_item.h" | 8 #include "ash/system/tray/tray_image_item.h" |
| 9 #include "chromeos/ime/xkeyboard.h" |
9 #include "ui/events/event_handler.h" | 10 #include "ui/events/event_handler.h" |
10 | 11 |
11 namespace views { | 12 namespace views { |
12 class ImageView; | 13 class ImageView; |
13 class View; | 14 class View; |
14 } | 15 } |
15 | 16 |
16 namespace ash { | 17 namespace ash { |
17 class CapsLockDefaultView; | 18 class CapsLockDefaultView; |
18 | 19 |
19 class TrayCapsLock : public TrayImageItem, | 20 class TrayCapsLock : public TrayImageItem, |
20 public ui::EventHandler { | 21 public ui::EventHandler, |
| 22 public chromeos::input_method::XKeyboard::Observer { |
21 public: | 23 public: |
22 explicit TrayCapsLock(SystemTray* system_tray); | 24 explicit TrayCapsLock(SystemTray* system_tray); |
23 virtual ~TrayCapsLock(); | 25 virtual ~TrayCapsLock(); |
24 | 26 |
25 private: | 27 private: |
26 void OnCapsLockChanged(bool enabled); | 28 // Overriden from chromeos::input_method::XKeyboard::Observer: |
| 29 virtual void OnCapsLockChanged(bool enabled) OVERRIDE; |
27 | 30 |
28 // ui::EventHandler: | 31 // ui::EventHandler: |
29 virtual void OnKeyEvent(ui::KeyEvent* key) OVERRIDE; | 32 virtual void OnKeyEvent(ui::KeyEvent* key) OVERRIDE; |
30 | 33 |
31 // Overridden from TrayImageItem. | 34 // Overridden from TrayImageItem. |
32 virtual bool GetInitialVisibility() OVERRIDE; | 35 virtual bool GetInitialVisibility() OVERRIDE; |
33 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; | 36 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; |
34 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; | 37 virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE; |
35 virtual void DestroyDefaultView() OVERRIDE; | 38 virtual void DestroyDefaultView() OVERRIDE; |
36 virtual void DestroyDetailedView() OVERRIDE; | 39 virtual void DestroyDetailedView() OVERRIDE; |
37 | 40 |
38 CapsLockDefaultView* default_; | 41 CapsLockDefaultView* default_; |
39 views::View* detailed_; | 42 views::View* detailed_; |
40 | 43 |
41 bool caps_lock_enabled_; | 44 bool caps_lock_enabled_; |
42 bool message_shown_; | 45 bool message_shown_; |
43 | 46 |
44 DISALLOW_COPY_AND_ASSIGN(TrayCapsLock); | 47 DISALLOW_COPY_AND_ASSIGN(TrayCapsLock); |
45 }; | 48 }; |
46 | 49 |
47 } // namespace ash | 50 } // namespace ash |
48 | 51 |
49 #endif // ASH_SYSTEM_CHROMEOS_TRAY_CAPS_LOCK_H_ | 52 #endif // ASH_SYSTEM_CHROMEOS_TRAY_CAPS_LOCK_H_ |
OLD | NEW |