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

Side by Side Diff: chrome/browser/chromeos/preferences.cc

Issue 9852008: Update IME preferences outside the IME status button when Uber Tray is in use. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: retry Created 8 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/chromeos/preferences.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "chrome/browser/chromeos/preferences.h" 5 #include "chrome/browser/chromeos/preferences.h"
6 6
7 #include "ash/ash_switches.h"
7 #include "base/chromeos/chromeos_version.h" 8 #include "base/chromeos/chromeos_version.h"
8 #include "base/command_line.h" 9 #include "base/command_line.h"
9 #include "base/i18n/time_formatting.h" 10 #include "base/i18n/time_formatting.h"
10 #include "base/metrics/histogram.h" 11 #include "base/metrics/histogram.h"
11 #include "base/string_split.h" 12 #include "base/string_split.h"
12 #include "base/string_util.h" 13 #include "base/string_util.h"
13 #include "base/utf_string_conversions.h" 14 #include "base/utf_string_conversions.h"
14 #include "chrome/browser/browser_process.h" 15 #include "chrome/browser/browser_process.h"
15 #include "chrome/browser/chromeos/input_method/input_method_manager.h" 16 #include "chrome/browser/chromeos/input_method/input_method_manager.h"
16 #include "chrome/browser/chromeos/input_method/input_method_util.h" 17 #include "chrome/browser/chromeos/input_method/input_method_util.h"
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 prefs, this); 260 prefs, this);
260 disable_gdata_hosted_files_.Init(prefs::kDisableGDataHostedFiles, 261 disable_gdata_hosted_files_.Init(prefs::kDisableGDataHostedFiles,
261 prefs, this); 262 prefs, this);
262 primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight, 263 primary_mouse_button_right_.Init(prefs::kPrimaryMouseButtonRight,
263 prefs, this); 264 prefs, this);
264 hotkey_next_engine_in_menu_.Init( 265 hotkey_next_engine_in_menu_.Init(
265 prefs::kLanguageHotkeyNextEngineInMenu, prefs, this); 266 prefs::kLanguageHotkeyNextEngineInMenu, prefs, this);
266 hotkey_previous_engine_.Init( 267 hotkey_previous_engine_.Init(
267 prefs::kLanguageHotkeyPreviousEngine, prefs, this); 268 prefs::kLanguageHotkeyPreviousEngine, prefs, this);
268 preferred_languages_.Init(prefs::kLanguagePreferredLanguages, 269 preferred_languages_.Init(prefs::kLanguagePreferredLanguages,
269 prefs, this); 270 prefs, this);
270 preload_engines_.Init(prefs::kLanguagePreloadEngines, prefs, this); 271 preload_engines_.Init(prefs::kLanguagePreloadEngines, prefs, this);
272 current_input_method_.Init(prefs::kLanguageCurrentInputMethod, prefs, this);
273 previous_input_method_.Init(prefs::kLanguagePreviousInputMethod, prefs, this);
274
271 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 275 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
272 chewing_boolean_prefs_[i].Init( 276 chewing_boolean_prefs_[i].Init(
273 language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, this); 277 language_prefs::kChewingBooleanPrefs[i].pref_name, prefs, this);
274 } 278 }
275 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { 279 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
276 chewing_multiple_choice_prefs_[i].Init( 280 chewing_multiple_choice_prefs_[i].Init(
277 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, prefs, this); 281 language_prefs::kChewingMultipleChoicePrefs[i].pref_name, prefs, this);
278 } 282 }
279 chewing_hsu_sel_key_type_.Init( 283 chewing_hsu_sel_key_type_.Init(
280 language_prefs::kChewingHsuSelKeyType.pref_name, prefs, this); 284 language_prefs::kChewingHsuSelKeyType.pref_name, prefs, this);
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 if (!pref_name || ((*pref_name == prefs::kLanguageXkbAutoRepeatDelay) || 420 if (!pref_name || ((*pref_name == prefs::kLanguageXkbAutoRepeatDelay) ||
417 (*pref_name == prefs::kLanguageXkbAutoRepeatInterval))) { 421 (*pref_name == prefs::kLanguageXkbAutoRepeatInterval))) {
418 UpdateAutoRepeatRate(); 422 UpdateAutoRepeatRate();
419 } 423 }
420 424
421 if (!pref_name || *pref_name == prefs::kLanguagePreloadEngines) { 425 if (!pref_name || *pref_name == prefs::kLanguagePreloadEngines) {
422 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName, 426 SetLanguageConfigStringListAsCSV(language_prefs::kGeneralSectionName,
423 language_prefs::kPreloadEnginesConfigName, 427 language_prefs::kPreloadEnginesConfigName,
424 preload_engines_.GetValue()); 428 preload_engines_.GetValue());
425 } 429 }
430
431 // Do not check |*pref_name| for the two prefs. We're only interested in
432 // initial values of the prefs.
433 // TODO(yusukes): Remove the second condition on R20.
434 if (!pref_name && !CommandLine::ForCurrentProcess()->HasSwitch(
435 ash::switches::kDisableAshUberTray)) {
436 const std::string previous_input_method_id =
437 previous_input_method_.GetValue();
438 const std::string current_input_method_id =
439 current_input_method_.GetValue();
440 // NOTICE: ChangeInputMethod() has to be called AFTER the value of
441 // |preload_engines_| is sent to the InputMethodManager. Otherwise, the
442 // ChangeInputMethod request might be ignored as an invalid input method ID.
443 input_method::InputMethodManager* manager =
444 input_method::InputMethodManager::GetInstance();
445 if (!previous_input_method_id.empty())
446 manager->ChangeInputMethod(previous_input_method_id);
447 if (!current_input_method_id.empty())
448 manager->ChangeInputMethod(current_input_method_id);
449 }
450
426 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) { 451 for (size_t i = 0; i < language_prefs::kNumChewingBooleanPrefs; ++i) {
427 if (!pref_name || 452 if (!pref_name ||
428 *pref_name == language_prefs::kChewingBooleanPrefs[i].pref_name) { 453 *pref_name == language_prefs::kChewingBooleanPrefs[i].pref_name) {
429 SetLanguageConfigBoolean( 454 SetLanguageConfigBoolean(
430 language_prefs::kChewingSectionName, 455 language_prefs::kChewingSectionName,
431 language_prefs::kChewingBooleanPrefs[i].ibus_config_name, 456 language_prefs::kChewingBooleanPrefs[i].ibus_config_name,
432 chewing_boolean_prefs_[i].GetValue()); 457 chewing_boolean_prefs_[i].GetValue());
433 } 458 }
434 } 459 }
435 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) { 460 for (size_t i = 0; i < language_prefs::kNumChewingMultipleChoicePrefs; ++i) {
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 682
658 // Remove invalid prefs. 683 // Remove invalid prefs.
659 DictionaryPrefUpdate updater(prefs, prefs::kLanguagePreferredVirtualKeyboard); 684 DictionaryPrefUpdate updater(prefs, prefs::kLanguagePreferredVirtualKeyboard);
660 DictionaryValue* pref_value = updater.Get(); 685 DictionaryValue* pref_value = updater.Get();
661 for (size_t i = 0; i < layouts_to_remove.size(); ++i) { 686 for (size_t i = 0; i < layouts_to_remove.size(); ++i) {
662 pref_value->RemoveWithoutPathExpansion(layouts_to_remove[i], NULL); 687 pref_value->RemoveWithoutPathExpansion(layouts_to_remove[i], NULL);
663 } 688 }
664 } 689 }
665 690
666 } // namespace chromeos 691 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/preferences.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698