| 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 |