| 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' provides convenient access to | 6 * @fileoverview 'settings-languages' provides convenient access to |
| 7 * Chrome's language and input method settings. | 7 * Chrome's language and input method settings. |
| 8 * | 8 * |
| 9 * Instances of this element have a 'languages' property, which reflects the | 9 * Instances of this element have a 'languages' property, which reflects the |
| 10 * current language settings. The 'languages' property is read-only, meaning | 10 * current language settings. The 'languages' property is read-only, meaning |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 * Disables the language. | 340 * Disables the language. |
| 341 * @param {string} languageCode | 341 * @param {string} languageCode |
| 342 */ | 342 */ |
| 343 disableLanguage: function(languageCode) { | 343 disableLanguage: function(languageCode) { |
| 344 if (!CrSettingsPrefs.isInitialized) | 344 if (!CrSettingsPrefs.isInitialized) |
| 345 return; | 345 return; |
| 346 | 346 |
| 347 assert(this.canDisableLanguage(languageCode)); | 347 assert(this.canDisableLanguage(languageCode)); |
| 348 | 348 |
| 349 // Remove the language from spell check. | 349 // Remove the language from spell check. |
| 350 this.arrayDelete('prefs.spellcheck.dictionaries.value', languageCode); | 350 this.deletePrefListItem('spellcheck.dictionaries', languageCode); |
| 351 | 351 |
| 352 // Remove the language from preferred languages. | 352 // Remove the language from preferred languages. |
| 353 var languageCodes = | 353 var languageCodes = |
| 354 this.getPref(preferredLanguagesPrefName).value.split(','); | 354 this.getPref(preferredLanguagesPrefName).value.split(','); |
| 355 var languageIndex = languageCodes.indexOf(languageCode); | 355 var languageIndex = languageCodes.indexOf(languageCode); |
| 356 if (languageIndex == -1) | 356 if (languageIndex == -1) |
| 357 return; | 357 return; |
| 358 languageCodes.splice(languageIndex, 1); | 358 languageCodes.splice(languageIndex, 1); |
| 359 chrome.languageSettingsPrivate.setLanguageList(languageCodes); | 359 chrome.languageSettingsPrivate.setLanguageList(languageCodes); |
| 360 this.enableTranslateLanguage(languageCode); | 360 this.enableTranslateLanguage(languageCode); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 378 return true; | 378 return true; |
| 379 }, | 379 }, |
| 380 | 380 |
| 381 /** | 381 /** |
| 382 * Enables translate for the given language by removing the translate | 382 * Enables translate for the given language by removing the translate |
| 383 * language from the blocked languages preference. | 383 * language from the blocked languages preference. |
| 384 * @param {string} languageCode | 384 * @param {string} languageCode |
| 385 */ | 385 */ |
| 386 enableTranslateLanguage: function(languageCode) { | 386 enableTranslateLanguage: function(languageCode) { |
| 387 languageCode = this.convertLanguageCodeForTranslate(languageCode); | 387 languageCode = this.convertLanguageCodeForTranslate(languageCode); |
| 388 this.arrayDelete('prefs.translate_blocked_languages.value', languageCode); | 388 this.deletePrefListItem('translate_blocked_languages', languageCode); |
| 389 }, | 389 }, |
| 390 | 390 |
| 391 /** | 391 /** |
| 392 * Disables translate for the given language by adding the translate | 392 * Disables translate for the given language by adding the translate |
| 393 * language to the blocked languages preference. | 393 * language to the blocked languages preference. |
| 394 * @param {string} languageCode | 394 * @param {string} languageCode |
| 395 */ | 395 */ |
| 396 disableTranslateLanguage: function(languageCode) { | 396 disableTranslateLanguage: function(languageCode) { |
| 397 languageCode = this.convertLanguageCodeForTranslate(languageCode); | 397 this.appendPrefListItem('translate_blocked_languages', |
| 398 if (this.getPref('translate_blocked_languages').value | 398 this.convertLanguageCodeForTranslate(languageCode)); |
| 399 .indexOf(languageCode) == -1) { | |
| 400 this.push('prefs.translate_blocked_languages.value', languageCode); | |
| 401 } | |
| 402 }, | 399 }, |
| 403 | 400 |
| 404 /** | 401 /** |
| 405 * Enables or disables spell check for the given language. | 402 * Enables or disables spell check for the given language. |
| 406 * @param {string} languageCode | 403 * @param {string} languageCode |
| 407 * @param {boolean} enable | 404 * @param {boolean} enable |
| 408 */ | 405 */ |
| 409 toggleSpellCheck: function(languageCode, enable) { | 406 toggleSpellCheck: function(languageCode, enable) { |
| 410 if (!this.initialized_) | 407 if (!this.initialized_) |
| 411 return; | 408 return; |
| 412 | 409 |
| 413 if (enable) { | 410 if (enable) { |
| 414 var spellCheckPref = this.getPref('spellcheck.dictionaries'); | 411 var spellCheckPref = this.getPref('spellcheck.dictionaries'); |
| 415 if (spellCheckPref.value.indexOf(languageCode) == -1) | 412 this.appendPrefListItem('spellcheck.dictionaries', languageCode); |
| 416 this.push('prefs.spellcheck.dictionaries.value', languageCode); | |
| 417 } else { | 413 } else { |
| 418 this.arrayDelete('prefs.spellcheck.dictionaries.value', languageCode); | 414 this.deletePrefListItem('spellcheck.dictionaries', languageCode); |
| 419 } | 415 } |
| 420 }, | 416 }, |
| 421 | 417 |
| 422 /** | 418 /** |
| 423 * Converts the language code for translate. There are some differences | 419 * Converts the language code for translate. There are some differences |
| 424 * between the language set the Translate server uses and that for | 420 * between the language set the Translate server uses and that for |
| 425 * Accept-Language. | 421 * Accept-Language. |
| 426 * @param {string} languageCode | 422 * @param {string} languageCode |
| 427 * @return {string} The converted language code. | 423 * @return {string} The converted language code. |
| 428 */ | 424 */ |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 * manually sending a change notification for our 'languages' property (since | 499 * manually sending a change notification for our 'languages' property (since |
| 504 * it's the same object as the singleton's property, but isn't bound by | 500 * it's the same object as the singleton's property, but isn't bound by |
| 505 * Polymer). | 501 * Polymer). |
| 506 * @private | 502 * @private |
| 507 */ | 503 */ |
| 508 singletonLanguagesChanged_: function(e) { | 504 singletonLanguagesChanged_: function(e) { |
| 509 // Forward the change notification to the host. | 505 // Forward the change notification to the host. |
| 510 this.fire(e.type, e.detail, {bubbles: false}); | 506 this.fire(e.type, e.detail, {bubbles: false}); |
| 511 }, | 507 }, |
| 512 }); | 508 }); |
| OLD | NEW |