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

Side by Side Diff: ash/common/system/ime/tray_ime_chromeos.h

Issue 2734653002: chromeos: Move files in //ash/common to //ash (Closed)
Patch Set: fix a11y tests, fix docs Created 3 years, 9 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
« no previous file with comments | « ash/common/system/ime/ime_observer.h ('k') | ash/common/system/ime/tray_ime_chromeos.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef ASH_COMMON_SYSTEM_IME_TRAY_IME_CHROMEOS_H_
6 #define ASH_COMMON_SYSTEM_IME_TRAY_IME_CHROMEOS_H_
7
8 #include <stddef.h>
9
10 #include "ash/common/system/accessibility_observer.h"
11 #include "ash/common/system/chromeos/ime_menu/ime_list_view.h"
12 #include "ash/common/system/chromeos/virtual_keyboard/virtual_keyboard_observer. h"
13 #include "ash/common/system/ime/ime_observer.h"
14 #include "ash/common/system/tray/ime_info.h"
15 #include "ash/common/system/tray/system_tray_item.h"
16 #include "base/macros.h"
17
18 namespace ash {
19
20 namespace tray {
21 class IMEDefaultView;
22 class IMEDetailedView;
23 }
24
25 class TrayItemView;
26
27 class ASH_EXPORT TrayIME : public SystemTrayItem,
28 public IMEObserver,
29 public AccessibilityObserver,
30 public VirtualKeyboardObserver {
31 public:
32 explicit TrayIME(SystemTray* system_tray);
33 ~TrayIME() override;
34
35 // Overridden from VirtualKeyboardObserver.
36 void OnKeyboardSuppressionChanged(bool suppressed) override;
37
38 // Overridden from AccessibilityObserver:
39 void OnAccessibilityModeChanged(
40 AccessibilityNotificationVisibility notify) override;
41
42 private:
43 friend class TrayIMETest;
44
45 // Repopulates the DefaultView and DetailedView.
46 void Update();
47 // Updates the System Tray label.
48 void UpdateTrayLabel(const IMEInfo& info, size_t count);
49 // Returns whether the virtual keyboard toggle should be shown in the
50 // detailed view.
51 bool ShouldShowKeyboardToggle();
52 // Returns the appropriate label for the detailed view.
53 base::string16 GetDefaultViewLabel(bool show_ime_label);
54
55 // Overridden from SystemTrayItem.
56 views::View* CreateTrayView(LoginStatus status) override;
57 views::View* CreateDefaultView(LoginStatus status) override;
58 views::View* CreateDetailedView(LoginStatus status) override;
59 void DestroyTrayView() override;
60 void DestroyDefaultView() override;
61 void DestroyDetailedView() override;
62 void UpdateAfterLoginStatusChange(LoginStatus status) override;
63 void UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) override;
64
65 // Overridden from IMEObserver.
66 void OnIMERefresh() override;
67 void OnIMEMenuActivationChanged(bool is_active) override;
68
69 // Returns true input methods are managed by policy.
70 bool IsIMEManaged();
71
72 // Whether the default view should be shown.
73 bool ShouldDefaultViewBeVisible();
74
75 // Decides if a tray icon should be shown.
76 bool ShouldShowImeTrayItem(size_t ime_count);
77 // Mandates behavior for the single IME case for the detailed IME list
78 // sub-view.
79 ImeListView::SingleImeBehavior GetSingleImeBehavior();
80
81 TrayItemView* tray_label_;
82 tray::IMEDefaultView* default_;
83 tray::IMEDetailedView* detailed_;
84 // Whether the virtual keyboard is suppressed.
85 bool keyboard_suppressed_;
86 // Cached IME info.
87 IMEInfoList ime_list_;
88 IMEInfo current_ime_;
89 IMEPropertyInfoList property_list_;
90 // If non-empty, a controlled-setting icon should be displayed with a tooltip
91 // text defined by this string.
92 base::string16 ime_managed_message_;
93
94 // Whether the IME label and tray items should be visible.
95 bool is_visible_;
96
97 DISALLOW_COPY_AND_ASSIGN(TrayIME);
98 };
99
100 } // namespace ash
101
102 #endif // ASH_COMMON_SYSTEM_IME_TRAY_IME_CHROMEOS_H_
OLDNEW
« no previous file with comments | « ash/common/system/ime/ime_observer.h ('k') | ash/common/system/ime/tray_ime_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698