| 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-page' is the settings page | 6 * @fileoverview 'settings-languages-page' is the settings page |
| 7 * for language and input method settings. | 7 * for language and input method settings. |
| 8 */ | 8 */ |
| 9 (function() { | 9 (function() { |
| 10 'use strict'; | 10 'use strict'; |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 * @return {boolean} True if |language| is first in the list of enabled | 101 * @return {boolean} True if |language| is first in the list of enabled |
| 102 * languages. Used to hide the "Move up" option. | 102 * languages. Used to hide the "Move up" option. |
| 103 * @private | 103 * @private |
| 104 */ | 104 */ |
| 105 isFirstLanguage_: function(language) { | 105 isFirstLanguage_: function(language) { |
| 106 return language == this.languages.enabled[0]; | 106 return language == this.languages.enabled[0]; |
| 107 }, | 107 }, |
| 108 | 108 |
| 109 /** | 109 /** |
| 110 * @param {!LanguageState} language | 110 * @param {!LanguageState} language |
| 111 * @return {boolean} True if |language| is first or second in the list of |
| 112 * enabled languages. Used to hide the "Move to top" option. |
| 113 * @private |
| 114 */ |
| 115 isFirstOrSecondLanguage_: function(language) { |
| 116 return this.languages.enabled.slice(0, 2).includes(language); |
| 117 }, |
| 118 |
| 119 /** |
| 120 * @param {!LanguageState} language |
| 111 * @return {boolean} True if |language| is last in the list of enabled | 121 * @return {boolean} True if |language| is last in the list of enabled |
| 112 * languages. Used to hide the "Move down" option. | 122 * languages. Used to hide the "Move down" option. |
| 113 * @private | 123 * @private |
| 114 */ | 124 */ |
| 115 isLastLanguage_: function(language) { | 125 isLastLanguage_: function(language) { |
| 116 return language == this.languages.enabled.slice(-1)[0]; | 126 return language == this.languages.enabled.slice(-1)[0]; |
| 117 }, | 127 }, |
| 118 | 128 |
| 119 /** | 129 /** |
| 120 * @param {!Object} change Polymer change object for languages.enabled.*. | 130 * @param {!Object} change Polymer change object for languages.enabled.*. |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 * @private | 178 * @private |
| 169 */ | 179 */ |
| 170 onUILanguageChange_: function(e) { | 180 onUILanguageChange_: function(e) { |
| 171 if (e.target.checked) { | 181 if (e.target.checked) { |
| 172 this.languageHelper.setUILanguage(this.detailLanguage_.language.code); | 182 this.languageHelper.setUILanguage(this.detailLanguage_.language.code); |
| 173 } else if (this.detailLanguage_.language.code == | 183 } else if (this.detailLanguage_.language.code == |
| 174 this.languageHelper.getProspectiveUILanguage()) { | 184 this.languageHelper.getProspectiveUILanguage()) { |
| 175 // Reset the chosen UI language to the actual UI language. | 185 // Reset the chosen UI language to the actual UI language. |
| 176 this.languageHelper.resetUILanguage(); | 186 this.languageHelper.resetUILanguage(); |
| 177 } | 187 } |
| 188 /** @type {!CrSharedMenuElement} */(this.$.menu.get()).closeMenu(); |
| 178 }, | 189 }, |
| 179 | 190 |
| 180 /** | 191 /** |
| 181 * @param {!chrome.languageSettingsPrivate.Language} language | 192 * @param {!chrome.languageSettingsPrivate.Language} language |
| 182 * @param {string} targetLanguageCode The default translate target language. | 193 * @param {string} targetLanguageCode The default translate target language. |
| 183 * @return {boolean} True if the translate checkbox should be disabled. | 194 * @return {boolean} True if the translate checkbox should be disabled. |
| 184 * @private | 195 * @private |
| 185 */ | 196 */ |
| 186 disableTranslateCheckbox_: function(language, targetLanguageCode) { | 197 disableTranslateCheckbox_: function(language, targetLanguageCode) { |
| 187 if (!language.supportsTranslate) | 198 if (!language.supportsTranslate) |
| 188 return true; | 199 return true; |
| 189 | 200 |
| 190 return this.languageHelper.convertLanguageCodeForTranslate(language.code) == | 201 return this.languageHelper.convertLanguageCodeForTranslate(language.code) == |
| 191 targetLanguageCode; | 202 targetLanguageCode; |
| 192 }, | 203 }, |
| 193 | 204 |
| 194 /** | 205 /** |
| 195 * Handler for changes to the translate checkbox. | 206 * Handler for changes to the translate checkbox. |
| 196 * @param {!{target: !PaperCheckboxElement}} e | 207 * @param {!{target: !PaperCheckboxElement}} e |
| 197 * @private | 208 * @private |
| 198 */ | 209 */ |
| 199 onTranslateCheckboxChange_: function(e) { | 210 onTranslateCheckboxChange_: function(e) { |
| 200 if (e.target.checked) { | 211 if (e.target.checked) { |
| 201 this.languageHelper.enableTranslateLanguage( | 212 this.languageHelper.enableTranslateLanguage( |
| 202 this.detailLanguage_.language.code); | 213 this.detailLanguage_.language.code); |
| 203 } else { | 214 } else { |
| 204 this.languageHelper.disableTranslateLanguage( | 215 this.languageHelper.disableTranslateLanguage( |
| 205 this.detailLanguage_.language.code); | 216 this.detailLanguage_.language.code); |
| 206 } | 217 } |
| 218 /** @type {!CrSharedMenuElement} */(this.$.menu.get()).closeMenu(); |
| 207 }, | 219 }, |
| 208 | 220 |
| 209 /** | 221 /** |
| 222 * Returns "complex" if the menu includes checkboxes, which should change the |
| 223 * spacing of items and show a separator in the menu. |
| 224 * @param {boolean} translateEnabled |
| 225 * @return {string} |
| 226 */ |
| 227 getMenuClass_: function(translateEnabled) { |
| 228 if (translateEnabled || cr.isChromeOS || cr.isWindows) |
| 229 return 'complex'; |
| 230 return ''; |
| 231 }, |
| 232 |
| 233 /** |
| 234 * Moves the language to the top of the list. |
| 235 * @private |
| 236 */ |
| 237 onMoveToTopTap_: function() { |
| 238 /** @type {!CrSharedMenuElement} */(this.$.menu.get()).closeMenu(); |
| 239 this.languageHelper.moveLanguageToFront(this.detailLanguage_.language.code); |
| 240 }, |
| 241 |
| 242 /** |
| 210 * Moves the language up in the list. | 243 * Moves the language up in the list. |
| 211 * @private | 244 * @private |
| 212 */ | 245 */ |
| 213 onMoveUpTap_: function() { | 246 onMoveUpTap_: function() { |
| 214 /** @type {!CrSharedMenuElement} */(this.$.menu.get()).closeMenu(); | 247 /** @type {!CrSharedMenuElement} */(this.$.menu.get()).closeMenu(); |
| 215 this.languageHelper.moveLanguage(this.detailLanguage_.language.code, -1); | 248 this.languageHelper.moveLanguage(this.detailLanguage_.language.code, -1); |
| 216 }, | 249 }, |
| 217 | 250 |
| 218 /** | 251 /** |
| 219 * Moves the language down in the list. | 252 * Moves the language down in the list. |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 463 onRestartTap_: function() { | 496 onRestartTap_: function() { |
| 464 <if expr="chromeos"> | 497 <if expr="chromeos"> |
| 465 settings.LifetimeBrowserProxyImpl.getInstance().signOutAndRestart(); | 498 settings.LifetimeBrowserProxyImpl.getInstance().signOutAndRestart(); |
| 466 </if> | 499 </if> |
| 467 <if expr="not chromeos"> | 500 <if expr="not chromeos"> |
| 468 settings.LifetimeBrowserProxyImpl.getInstance().restart(); | 501 settings.LifetimeBrowserProxyImpl.getInstance().restart(); |
| 469 </if> | 502 </if> |
| 470 }, | 503 }, |
| 471 }); | 504 }); |
| 472 })(); | 505 })(); |
| OLD | NEW |