OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "chrome/browser/chromeos/preferences.h" | 5 #include "chrome/browser/chromeos/preferences.h" |
6 | 6 |
7 #include "base/string_split.h" | 7 #include "base/string_split.h" |
8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
11 #include "chrome/browser/chromeos/cros/cros_library.h" | 11 #include "chrome/browser/chromeos/cros/cros_library.h" |
12 #include "chrome/browser/chromeos/cros/input_method_library.h" | 12 #include "chrome/browser/chromeos/cros/input_method_library.h" |
13 #include "chrome/browser/chromeos/cros/keyboard_library.h" | 13 #include "chrome/browser/chromeos/cros/keyboard_library.h" |
| 14 #include "chrome/browser/chromeos/cros/power_library.h" |
14 #include "chrome/browser/chromeos/cros/touchpad_library.h" | 15 #include "chrome/browser/chromeos/cros/touchpad_library.h" |
15 #include "chrome/browser/chromeos/input_method/input_method_util.h" | 16 #include "chrome/browser/chromeos/input_method/input_method_util.h" |
16 #include "chrome/browser/extensions/extensions_service.h" | 17 #include "chrome/browser/extensions/extensions_service.h" |
17 #include "chrome/browser/prefs/pref_member.h" | 18 #include "chrome/browser/prefs/pref_member.h" |
18 #include "chrome/browser/prefs/pref_service.h" | 19 #include "chrome/browser/prefs/pref_service.h" |
19 #include "chrome/browser/profile.h" | 20 #include "chrome/browser/profile.h" |
20 #include "chrome/common/notification_service.h" | 21 #include "chrome/common/notification_service.h" |
21 #include "chrome/common/pref_names.h" | 22 #include "chrome/common/pref_names.h" |
22 #include "unicode/timezone.h" | 23 #include "unicode/timezone.h" |
23 | 24 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 } | 109 } |
109 prefs->RegisterIntegerPref(prefs::kLanguageXkbRemapSearchKeyTo, kSearchKey); | 110 prefs->RegisterIntegerPref(prefs::kLanguageXkbRemapSearchKeyTo, kSearchKey); |
110 prefs->RegisterIntegerPref(prefs::kLanguageXkbRemapControlKeyTo, | 111 prefs->RegisterIntegerPref(prefs::kLanguageXkbRemapControlKeyTo, |
111 kLeftControlKey); | 112 kLeftControlKey); |
112 prefs->RegisterIntegerPref(prefs::kLanguageXkbRemapAltKeyTo, kLeftAltKey); | 113 prefs->RegisterIntegerPref(prefs::kLanguageXkbRemapAltKeyTo, kLeftAltKey); |
113 prefs->RegisterBooleanPref(prefs::kLanguageXkbAutoRepeatEnabled, true); | 114 prefs->RegisterBooleanPref(prefs::kLanguageXkbAutoRepeatEnabled, true); |
114 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatDelay, | 115 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatDelay, |
115 language_prefs::kXkbAutoRepeatDelayInMs); | 116 language_prefs::kXkbAutoRepeatDelayInMs); |
116 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval, | 117 prefs->RegisterIntegerPref(prefs::kLanguageXkbAutoRepeatInterval, |
117 language_prefs::kXkbAutoRepeatIntervalInMs); | 118 language_prefs::kXkbAutoRepeatIntervalInMs); |
| 119 |
| 120 // Screen lock default to off. |
| 121 prefs->RegisterBooleanPref(prefs::kEnableScreenLock, false); |
118 } | 122 } |
119 | 123 |
120 void Preferences::Init(PrefService* prefs) { | 124 void Preferences::Init(PrefService* prefs) { |
121 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, this); | 125 tap_to_click_enabled_.Init(prefs::kTapToClickEnabled, prefs, this); |
122 accessibility_enabled_.Init(prefs::kAccessibilityEnabled, prefs, this); | 126 accessibility_enabled_.Init(prefs::kAccessibilityEnabled, prefs, this); |
123 sensitivity_.Init(prefs::kTouchpadSensitivity, prefs, this); | 127 sensitivity_.Init(prefs::kTouchpadSensitivity, prefs, this); |
124 language_hotkey_next_engine_in_menu_.Init( | 128 language_hotkey_next_engine_in_menu_.Init( |
125 prefs::kLanguageHotkeyNextEngineInMenu, prefs, this); | 129 prefs::kLanguageHotkeyNextEngineInMenu, prefs, this); |
126 language_hotkey_previous_engine_.Init( | 130 language_hotkey_previous_engine_.Init( |
127 prefs::kLanguageHotkeyPreviousEngine, prefs, this); | 131 prefs::kLanguageHotkeyPreviousEngine, prefs, this); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 prefs::kLanguageXkbRemapAltKeyTo, prefs, this); | 179 prefs::kLanguageXkbRemapAltKeyTo, prefs, this); |
176 language_xkb_auto_repeat_enabled_.Init( | 180 language_xkb_auto_repeat_enabled_.Init( |
177 prefs::kLanguageXkbAutoRepeatEnabled, prefs, this); | 181 prefs::kLanguageXkbAutoRepeatEnabled, prefs, this); |
178 language_xkb_auto_repeat_delay_pref_.Init( | 182 language_xkb_auto_repeat_delay_pref_.Init( |
179 prefs::kLanguageXkbAutoRepeatDelay, prefs, this); | 183 prefs::kLanguageXkbAutoRepeatDelay, prefs, this); |
180 language_xkb_auto_repeat_interval_pref_.Init( | 184 language_xkb_auto_repeat_interval_pref_.Init( |
181 prefs::kLanguageXkbAutoRepeatInterval, prefs, this); | 185 prefs::kLanguageXkbAutoRepeatInterval, prefs, this); |
182 | 186 |
183 labs_talk_enabled_.Init(prefs::kLabsTalkEnabled, prefs, this); | 187 labs_talk_enabled_.Init(prefs::kLabsTalkEnabled, prefs, this); |
184 | 188 |
| 189 enable_screen_lock_.Init(prefs::kEnableScreenLock, prefs, this); |
| 190 |
185 // Initialize touchpad settings to what's saved in user preferences. | 191 // Initialize touchpad settings to what's saved in user preferences. |
186 NotifyPrefChanged(NULL); | 192 NotifyPrefChanged(NULL); |
187 } | 193 } |
188 | 194 |
189 void Preferences::Observe(NotificationType type, | 195 void Preferences::Observe(NotificationType type, |
190 const NotificationSource& source, | 196 const NotificationSource& source, |
191 const NotificationDetails& details) { | 197 const NotificationDetails& details) { |
192 if (type == NotificationType::PREF_CHANGED) | 198 if (type == NotificationType::PREF_CHANGED) |
193 NotifyPrefChanged(Details<std::string>(details).ptr()); | 199 NotifyPrefChanged(Details<std::string>(details).ptr()); |
194 } | 200 } |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 } | 342 } |
337 if (!pref_name || ((*pref_name == prefs::kLanguageXkbAutoRepeatDelay) || | 343 if (!pref_name || ((*pref_name == prefs::kLanguageXkbAutoRepeatDelay) || |
338 (*pref_name == prefs::kLanguageXkbAutoRepeatInterval))) { | 344 (*pref_name == prefs::kLanguageXkbAutoRepeatInterval))) { |
339 UpdateAutoRepeatRate(); | 345 UpdateAutoRepeatRate(); |
340 } | 346 } |
341 | 347 |
342 // Listen for explicit changes as ExtensionsService handles startup case. | 348 // Listen for explicit changes as ExtensionsService handles startup case. |
343 if (pref_name && *pref_name == prefs::kLabsTalkEnabled) { | 349 if (pref_name && *pref_name == prefs::kLabsTalkEnabled) { |
344 UpdateTalkApp(); | 350 UpdateTalkApp(); |
345 } | 351 } |
| 352 |
| 353 // Init or update power manager config. |
| 354 if (!pref_name || *pref_name == prefs::kEnableScreenLock) { |
| 355 CrosLibrary::Get()->GetPowerLibrary()->EnableScreenLock( |
| 356 enable_screen_lock_.GetValue()); |
| 357 } |
346 } | 358 } |
347 | 359 |
348 void Preferences::SetLanguageConfigBoolean(const char* section, | 360 void Preferences::SetLanguageConfigBoolean(const char* section, |
349 const char* name, | 361 const char* name, |
350 bool value) { | 362 bool value) { |
351 ImeConfigValue config; | 363 ImeConfigValue config; |
352 config.type = ImeConfigValue::kValueTypeBool; | 364 config.type = ImeConfigValue::kValueTypeBool; |
353 config.bool_value = value; | 365 config.bool_value = value; |
354 CrosLibrary::Get()->GetInputMethodLibrary()-> | 366 CrosLibrary::Get()->GetInputMethodLibrary()-> |
355 SetImeConfig(section, name, config); | 367 SetImeConfig(section, name, config); |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
440 } | 452 } |
441 | 453 |
442 if (labs_talk_enabled_.GetValue() == 0) { | 454 if (labs_talk_enabled_.GetValue() == 0) { |
443 profile_->GetExtensionsService()->DisableExtension(kTalkAppExtensionId); | 455 profile_->GetExtensionsService()->DisableExtension(kTalkAppExtensionId); |
444 } else { | 456 } else { |
445 profile_->GetExtensionsService()->EnableExtension(kTalkAppExtensionId); | 457 profile_->GetExtensionsService()->EnableExtension(kTalkAppExtensionId); |
446 } | 458 } |
447 } | 459 } |
448 | 460 |
449 } // namespace chromeos | 461 } // namespace chromeos |
OLD | NEW |