Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 cr.define('options', function() { | 5 cr.define('options', function() { |
| 6 const OptionsPage = options.OptionsPage; | 6 const OptionsPage = options.OptionsPage; |
| 7 const ArrayDataModel = cr.ui.ArrayDataModel; | 7 const ArrayDataModel = cr.ui.ArrayDataModel; |
| 8 var RepeatingButton = cr.ui.RepeatingButton; | |
| 8 | 9 |
| 9 // | 10 // |
| 10 // BrowserOptions class | 11 // BrowserOptions class |
| 11 // Encapsulated handling of browser options page. | 12 // Encapsulated handling of browser options page. |
| 12 // | 13 // |
| 13 function BrowserOptions() { | 14 function BrowserOptions() { |
| 14 OptionsPage.call(this, 'browser', | 15 OptionsPage.call(this, 'browser', |
| 15 templateData.browserPageTabTitle, | 16 templateData.browserPageTabTitle, |
| 16 'browserPage'); | 17 'browserPage'); |
| 17 } | 18 } |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 69 $('change-home-page').onclick = function(event) { | 70 $('change-home-page').onclick = function(event) { |
| 70 OptionsPage.navigateToPage('homePageOverlay'); | 71 OptionsPage.navigateToPage('homePageOverlay'); |
| 71 }; | 72 }; |
| 72 $('themes-gallery').onclick = function(event) { | 73 $('themes-gallery').onclick = function(event) { |
| 73 window.open(localStrings.getString('themesGalleryURL')); | 74 window.open(localStrings.getString('themesGalleryURL')); |
| 74 }; | 75 }; |
| 75 $('themes-reset').onclick = function(event) { | 76 $('themes-reset').onclick = function(event) { |
| 76 chrome.send('themesReset'); | 77 chrome.send('themesReset'); |
| 77 }; | 78 }; |
| 78 | 79 |
| 80 // Device section (ChromeOS only). | |
| 81 if (cr.isChromeOS) { | |
| 82 $('keyboard-settings-button').onclick = function(event) { | |
| 83 OptionsPage.navigateToPage('keyboard-overlay'); | |
| 84 }; | |
| 85 $('pointer-settings-button').onclick = function(event) { | |
| 86 OptionsPage.navigateToPage('pointer-overlay'); | |
| 87 }; | |
| 88 this.initBrightnessButton_('brightness-decrease-button', | |
| 89 'decreaseScreenBrightness'); | |
| 90 this.initBrightnessButton_('brightness-increase-button', | |
| 91 'increaseScreenBrightness'); | |
| 92 } | |
| 93 | |
| 79 // Search section. | 94 // Search section. |
| 80 $('defaultSearchManageEnginesButton').onclick = function(event) { | 95 $('defaultSearchManageEnginesButton').onclick = function(event) { |
| 81 OptionsPage.navigateToPage('searchEngines'); | 96 OptionsPage.navigateToPage('searchEngines'); |
| 82 chrome.send('coreOptionsUserMetricsAction', | 97 chrome.send('coreOptionsUserMetricsAction', |
| 83 ['Options_ManageSearchEngines']); | 98 ['Options_ManageSearchEngines']); |
| 84 }; | 99 }; |
| 85 $('defaultSearchEngine').onchange = this.setDefaultSearchEngine_; | 100 $('defaultSearchEngine').onchange = this.setDefaultSearchEngine_; |
| 86 $('instantEnabledCheckbox').customChangeHandler = function(event) { | 101 $('instantEnabledCheckbox').customChangeHandler = function(event) { |
| 87 if (this.checked) { | 102 if (this.checked) { |
| 88 if (self.instantConfirmDialogShown_) | 103 if (self.instantConfirmDialogShown_) |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 183 } | 198 } |
| 184 | 199 |
| 185 // Under the hood section. | 200 // Under the hood section. |
| 186 $('advancedOptionsButton').onclick = function(event) { | 201 $('advancedOptionsButton').onclick = function(event) { |
| 187 OptionsPage.navigateToPage('advanced'); | 202 OptionsPage.navigateToPage('advanced'); |
| 188 chrome.send('coreOptionsUserMetricsAction', | 203 chrome.send('coreOptionsUserMetricsAction', |
| 189 ['Options_OpenUnderTheHood']); | 204 ['Options_OpenUnderTheHood']); |
| 190 }; | 205 }; |
| 191 }, | 206 }, |
| 192 | 207 |
| 208 /** | |
| 209 * Initializes a button for controlling screen brightness. | |
| 210 * @param {string} id Button ID. | |
| 211 * @param {string} callback Name of the callback function. | |
| 212 */ | |
| 213 initBrightnessButton_: function(id, callback) { | |
| 214 var button = $(id); | |
| 215 cr.ui.decorate(button, RepeatingButton); | |
| 216 button.repeatInterval = 300; | |
| 217 button.addEventListener(RepeatingButton.Event.BUTTON_HELD, function(e) { | |
| 218 chrome.send(callback); | |
| 219 }); | |
| 220 }, | |
| 221 | |
| 193 setSyncEnabled_: function(enabled) { | 222 setSyncEnabled_: function(enabled) { |
| 194 this.syncEnabled = enabled; | 223 this.syncEnabled = enabled; |
| 195 }, | 224 }, |
| 196 | 225 |
| 197 setAutoLoginVisible_ : function(visible) { | 226 setAutoLoginVisible_: function(visible) { |
| 198 $('enable-auto-login-checkbox').hidden = !visible; | 227 $('enable-auto-login-checkbox').hidden = !visible; |
| 199 }, | 228 }, |
| 200 | 229 |
| 201 setSyncSetupCompleted_: function(completed) { | 230 setSyncSetupCompleted_: function(completed) { |
| 202 this.syncSetupCompleted = completed; | 231 this.syncSetupCompleted = completed; |
| 203 $('customize-sync').hidden = !completed; | 232 $('customize-sync').hidden = !completed; |
| 204 }, | 233 }, |
| 205 | 234 |
| 206 setSyncStatus_: function(status) { | 235 setSyncStatus_: function(status) { |
| 207 var statusSet = status != ''; | 236 var statusSet = status != ''; |
| (...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 503 }, | 532 }, |
| 504 | 533 |
| 505 /** | 534 /** |
| 506 * (Re)loads IMG element with current user account picture. | 535 * (Re)loads IMG element with current user account picture. |
| 507 */ | 536 */ |
| 508 updateAccountPicture_: function() { | 537 updateAccountPicture_: function() { |
| 509 $('account-picture').src = | 538 $('account-picture').src = |
| 510 'chrome://userimage/' + this.username_ + | 539 'chrome://userimage/' + this.username_ + |
| 511 '?id=' + (new Date()).getTime(); | 540 '?id=' + (new Date()).getTime(); |
| 512 }, | 541 }, |
| 542 | |
| 543 /** | |
| 544 * Displays the touchpad controls section when we detect a touchpad, hides | |
| 545 it otherwise. | |
|
James Hawkins
2012/01/17 16:23:39
@private, @param. Same for the method below it.
csilv
2012/01/17 17:58:49
Done.
| |
| 546 */ | |
| 547 showTouchpadControls_: function() { | |
|
James Hawkins
2012/01/17 16:23:39
Missing a |show| parameter here.
csilv
2012/01/17 17:58:49
Done.
| |
| 548 $('touchpad-controls').hidden = !show; | |
| 549 }, | |
| 550 | |
| 551 /** | |
| 552 * Displays the mouse controls section when we detect a mouse, hides it | |
| 553 * otherwise. | |
| 554 */ | |
| 555 showMouseControls_: function(show) { | |
| 556 $('mouse-controls').hidden = !show; | |
| 557 }, | |
| 513 }; | 558 }; |
| 514 | 559 |
| 515 //Forward public APIs to private implementations. | 560 //Forward public APIs to private implementations. |
| 516 [ | 561 [ |
| 517 'getStartStopSyncButton', | 562 'getStartStopSyncButton', |
| 518 'hideSyncSection', | 563 'hideSyncSection', |
| 519 'setAutoLoginVisible', | 564 'setAutoLoginVisible', |
| 520 'setCustomizeSyncButtonEnabled', | 565 'setCustomizeSyncButtonEnabled', |
| 521 'setGtkThemeButtonEnabled', | 566 'setGtkThemeButtonEnabled', |
| 522 'setInstantFieldTrialStatus', | 567 'setInstantFieldTrialStatus', |
| 523 'setProfilesInfo', | 568 'setProfilesInfo', |
| 524 'setProfilesSectionVisible', | 569 'setProfilesSectionVisible', |
| 525 'setStartStopButtonEnabled', | 570 'setStartStopButtonEnabled', |
| 526 'setStartStopButtonLabel', | 571 'setStartStopButtonLabel', |
| 527 'setStartStopButtonVisible', | 572 'setStartStopButtonVisible', |
| 528 'setSyncActionLinkEnabled', | 573 'setSyncActionLinkEnabled', |
| 529 'setSyncActionLinkLabel', | 574 'setSyncActionLinkLabel', |
| 530 'setSyncEnabled', | 575 'setSyncEnabled', |
| 531 'setSyncSetupCompleted', | 576 'setSyncSetupCompleted', |
| 532 'setSyncStatus', | 577 'setSyncStatus', |
| 533 'setSyncStatusErrorVisible', | 578 'setSyncStatusErrorVisible', |
| 534 'setThemesResetButtonEnabled', | 579 'setThemesResetButtonEnabled', |
| 535 'updateAccountPicture', | 580 'updateAccountPicture', |
| 536 'updateAutocompleteSuggestions', | 581 'updateAutocompleteSuggestions', |
| 537 'updateHomePageLabel', | 582 'updateHomePageLabel', |
| 538 'updateSearchEngines', | 583 'updateSearchEngines', |
| 539 'updateStartupPages', | 584 'updateStartupPages', |
| 585 'showTouchpadControls', | |
| 586 'showMouseControls', | |
| 540 ].forEach(function(name) { | 587 ].forEach(function(name) { |
| 541 BrowserOptions[name] = function(value) { | 588 BrowserOptions[name] = function(value) { |
| 542 return BrowserOptions.getInstance()[name + '_'](value); | 589 return BrowserOptions.getInstance()[name + '_'](value); |
| 543 }; | 590 }; |
| 544 }); | 591 }); |
| 545 | 592 |
| 546 BrowserOptions.updateDefaultBrowserState = function(statusString, isDefault, | 593 BrowserOptions.updateDefaultBrowserState = function(statusString, isDefault, |
| 547 canBeDefault) { | 594 canBeDefault) { |
| 548 if (!cr.isChromeOS) { | 595 if (!cr.isChromeOS) { |
| 549 BrowserOptions.getInstance().updateDefaultBrowserState_(statusString, | 596 BrowserOptions.getInstance().updateDefaultBrowserState_(statusString, |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 562 return BrowserOptions.getInstance().username_; | 609 return BrowserOptions.getInstance().username_; |
| 563 }; | 610 }; |
| 564 } | 611 } |
| 565 | 612 |
| 566 // Export | 613 // Export |
| 567 return { | 614 return { |
| 568 BrowserOptions: BrowserOptions | 615 BrowserOptions: BrowserOptions |
| 569 }; | 616 }; |
| 570 | 617 |
| 571 }); | 618 }); |
| OLD | NEW |