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 CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ |
6 #define CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ | 6 #define CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
| 11 #include "ash/shell_observer.h" |
11 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
12 #include "base/prefs/pref_member.h" | 13 #include "base/prefs/pref_member.h" |
13 #include "chrome/browser/chromeos/language_preferences.h" | 14 #include "chrome/browser/chromeos/language_preferences.h" |
14 #include "chrome/browser/prefs/pref_service_syncable_observer.h" | 15 #include "chrome/browser/prefs/pref_service_syncable_observer.h" |
15 | 16 |
16 class PrefRegistrySimple; | 17 class PrefRegistrySimple; |
17 class PrefService; | 18 class PrefService; |
18 class PrefServiceSyncable; | 19 class PrefServiceSyncable; |
19 | 20 |
20 namespace user_prefs { | 21 namespace user_prefs { |
21 class PrefRegistrySyncable; | 22 class PrefRegistrySyncable; |
22 } | 23 } |
23 | 24 |
24 namespace chromeos { | 25 namespace chromeos { |
25 | 26 |
26 namespace input_method { | 27 namespace input_method { |
27 class InputMethodManager; | 28 class InputMethodManager; |
28 } | 29 } |
29 | 30 |
30 // The Preferences class handles Chrome OS preferences. When the class | 31 // The Preferences class handles Chrome OS preferences. When the class |
31 // is first initialized, it will initialize the OS settings to what's stored in | 32 // is first initialized, it will initialize the OS settings to what's stored in |
32 // the preferences. These include touchpad settings, etc. | 33 // the preferences. These include touchpad settings, etc. |
33 // When the preferences change, we change the settings to reflect the new value. | 34 // When the preferences change, we change the settings to reflect the new value. |
34 class Preferences : public PrefServiceSyncableObserver { | 35 class Preferences : public PrefServiceSyncableObserver, |
| 36 public ash::ShellObserver { |
35 public: | 37 public: |
36 Preferences(); | 38 Preferences(); |
37 explicit Preferences( | 39 explicit Preferences( |
38 input_method::InputMethodManager* input_method_manager); // for testing | 40 input_method::InputMethodManager* input_method_manager); // for testing |
39 virtual ~Preferences(); | 41 virtual ~Preferences(); |
40 | 42 |
41 // These method will register the prefs associated with Chrome OS settings. | 43 // These method will register the prefs associated with Chrome OS settings. |
42 static void RegisterPrefs(PrefRegistrySimple* registry); | 44 static void RegisterPrefs(PrefRegistrySimple* registry); |
43 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); | 45 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); |
44 | 46 |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 // underlying XKB API requires it. | 101 // underlying XKB API requires it. |
100 void UpdateAutoRepeatRate(); | 102 void UpdateAutoRepeatRate(); |
101 | 103 |
102 // Force natural scroll to on if --enable-natural-scroll-default is specified | 104 // Force natural scroll to on if --enable-natural-scroll-default is specified |
103 // on the cmd line. | 105 // on the cmd line. |
104 void ForceNaturalScrollDefault(); | 106 void ForceNaturalScrollDefault(); |
105 | 107 |
106 // PrefServiceSyncableObserver implementation. | 108 // PrefServiceSyncableObserver implementation. |
107 virtual void OnIsSyncingChanged() OVERRIDE; | 109 virtual void OnIsSyncingChanged() OVERRIDE; |
108 | 110 |
| 111 // Overriden from ash::ShellObserver. |
| 112 virtual void OnTouchHudProjectionToggled(bool enabled) OVERRIDE; |
| 113 |
109 PrefServiceSyncable* prefs_; | 114 PrefServiceSyncable* prefs_; |
110 | 115 |
111 input_method::InputMethodManager* input_method_manager_; | 116 input_method::InputMethodManager* input_method_manager_; |
112 | 117 |
113 BooleanPrefMember tap_to_click_enabled_; | 118 BooleanPrefMember tap_to_click_enabled_; |
114 BooleanPrefMember tap_dragging_enabled_; | 119 BooleanPrefMember tap_dragging_enabled_; |
115 BooleanPrefMember three_finger_click_enabled_; | 120 BooleanPrefMember three_finger_click_enabled_; |
116 BooleanPrefMember natural_scroll_; | 121 BooleanPrefMember natural_scroll_; |
117 BooleanPrefMember vert_edge_scroll_enabled_; | 122 BooleanPrefMember vert_edge_scroll_enabled_; |
118 BooleanPrefMember a11y_spoken_feedback_enabled_; | 123 BooleanPrefMember a11y_spoken_feedback_enabled_; |
119 BooleanPrefMember a11y_high_contrast_enabled_; | 124 BooleanPrefMember a11y_high_contrast_enabled_; |
120 BooleanPrefMember a11y_screen_magnifier_enabled_; | 125 BooleanPrefMember a11y_screen_magnifier_enabled_; |
121 IntegerPrefMember a11y_screen_magnifier_type_; | 126 IntegerPrefMember a11y_screen_magnifier_type_; |
122 DoublePrefMember a11y_screen_magnifier_scale_; | 127 DoublePrefMember a11y_screen_magnifier_scale_; |
123 IntegerPrefMember speed_factor_; | 128 IntegerPrefMember speed_factor_; |
124 IntegerPrefMember mouse_sensitivity_; | 129 IntegerPrefMember mouse_sensitivity_; |
125 IntegerPrefMember touchpad_sensitivity_; | 130 IntegerPrefMember touchpad_sensitivity_; |
126 BooleanPrefMember primary_mouse_button_right_; | 131 BooleanPrefMember primary_mouse_button_right_; |
127 BooleanPrefMember use_24hour_clock_; | 132 BooleanPrefMember use_24hour_clock_; |
128 BooleanPrefMember disable_drive_; | 133 BooleanPrefMember disable_drive_; |
129 BooleanPrefMember disable_drive_over_cellular_; | 134 BooleanPrefMember disable_drive_over_cellular_; |
130 BooleanPrefMember disable_drive_hosted_files_; | 135 BooleanPrefMember disable_drive_hosted_files_; |
131 FilePathPrefMember download_default_directory_; | 136 FilePathPrefMember download_default_directory_; |
132 FilePathPrefMember select_file_last_directory_; | 137 FilePathPrefMember select_file_last_directory_; |
133 FilePathPrefMember save_file_default_directory_; | 138 FilePathPrefMember save_file_default_directory_; |
| 139 BooleanPrefMember touch_hud_projection_enabled_; |
134 | 140 |
135 // Input method preferences. | 141 // Input method preferences. |
136 StringPrefMember preferred_languages_; | 142 StringPrefMember preferred_languages_; |
137 StringPrefMember preload_engines_; | 143 StringPrefMember preload_engines_; |
138 StringPrefMember current_input_method_; | 144 StringPrefMember current_input_method_; |
139 StringPrefMember previous_input_method_; | 145 StringPrefMember previous_input_method_; |
140 StringPrefMember enabled_extension_imes_; | 146 StringPrefMember enabled_extension_imes_; |
141 | 147 |
142 BooleanPrefMember chewing_boolean_prefs_[ | 148 BooleanPrefMember chewing_boolean_prefs_[ |
143 language_prefs::kNumChewingBooleanPrefs]; | 149 language_prefs::kNumChewingBooleanPrefs]; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 BooleanPrefMember power_allow_screen_wake_locks_; | 193 BooleanPrefMember power_allow_screen_wake_locks_; |
188 DoublePrefMember power_presentation_screen_dim_delay_factor_; | 194 DoublePrefMember power_presentation_screen_dim_delay_factor_; |
189 DoublePrefMember power_user_activity_screen_dim_delay_factor_; | 195 DoublePrefMember power_user_activity_screen_dim_delay_factor_; |
190 | 196 |
191 DISALLOW_COPY_AND_ASSIGN(Preferences); | 197 DISALLOW_COPY_AND_ASSIGN(Preferences); |
192 }; | 198 }; |
193 | 199 |
194 } // namespace chromeos | 200 } // namespace chromeos |
195 | 201 |
196 #endif // CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ | 202 #endif // CHROME_BROWSER_CHROMEOS_PREFERENCES_H_ |
OLD | NEW |