| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 /** | 5 /** |
| 6 * @fileoverview 'settings-languages' handles Chrome's language and input | 6 * @fileoverview 'settings-languages' handles Chrome's language and input |
| 7 * method settings. The 'languages' property, which reflects the current | 7 * method settings. The 'languages' property, which reflects the current |
| 8 * language settings, must not be changed directly. Instead, changes to | 8 * language settings, must not be changed directly. Instead, changes to |
| 9 * language settings should be made using the LanguageHelper APIs provided by | 9 * language settings should be made using the LanguageHelper APIs provided by |
| 10 * this class via languageHelper. | 10 * this class via languageHelper. |
| (...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 569 if (this.enabledLanguageSet_.has(languageCodes[newIndex])) | 569 if (this.enabledLanguageSet_.has(languageCodes[newIndex])) |
| 570 distance--; | 570 distance--; |
| 571 } | 571 } |
| 572 | 572 |
| 573 languageCodes[originalIndex] = languageCodes[newIndex]; | 573 languageCodes[originalIndex] = languageCodes[newIndex]; |
| 574 languageCodes[newIndex] = languageCode; | 574 languageCodes[newIndex] = languageCode; |
| 575 this.setPrefValue(preferredLanguagesPrefName, languageCodes.join(',')); | 575 this.setPrefValue(preferredLanguagesPrefName, languageCodes.join(',')); |
| 576 }, | 576 }, |
| 577 | 577 |
| 578 /** | 578 /** |
| 579 * Moves the language directly to the front of the list of enabled languages. |
| 580 * @param {string} languageCode |
| 581 */ |
| 582 moveLanguageToFront: function(languageCode) { |
| 583 if (!CrSettingsPrefs.isInitialized) |
| 584 return; |
| 585 |
| 586 var languageCodes = |
| 587 this.getPref(preferredLanguagesPrefName).value.split(','); |
| 588 var originalIndex = languageCodes.indexOf(languageCode); |
| 589 assert(originalIndex != -1); |
| 590 |
| 591 languageCodes.splice(originalIndex, 1); |
| 592 languageCodes.unshift(languageCode); |
| 593 |
| 594 this.setPrefValue(preferredLanguagesPrefName, languageCodes.join(',')); |
| 595 }, |
| 596 |
| 597 /** |
| 579 * Enables translate for the given language by removing the translate | 598 * Enables translate for the given language by removing the translate |
| 580 * language from the blocked languages preference. | 599 * language from the blocked languages preference. |
| 581 * @param {string} languageCode | 600 * @param {string} languageCode |
| 582 */ | 601 */ |
| 583 enableTranslateLanguage: function(languageCode) { | 602 enableTranslateLanguage: function(languageCode) { |
| 584 languageCode = this.convertLanguageCodeForTranslate(languageCode); | 603 languageCode = this.convertLanguageCodeForTranslate(languageCode); |
| 585 this.deletePrefListItem('translate_blocked_languages', languageCode); | 604 this.deletePrefListItem('translate_blocked_languages', languageCode); |
| 586 }, | 605 }, |
| 587 | 606 |
| 588 /** | 607 /** |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 726 this.updateEnabledInputMethods_(); | 745 this.updateEnabledInputMethods_(); |
| 727 }, | 746 }, |
| 728 | 747 |
| 729 /** @param {string} id Removed input method ID. */ | 748 /** @param {string} id Removed input method ID. */ |
| 730 onInputMethodRemoved_: function(id) { | 749 onInputMethodRemoved_: function(id) { |
| 731 assert(cr.isChromeOS); | 750 assert(cr.isChromeOS); |
| 732 this.updateEnabledInputMethods_(); | 751 this.updateEnabledInputMethods_(); |
| 733 }, | 752 }, |
| 734 }); | 753 }); |
| 735 })(); | 754 })(); |
| OLD | NEW |