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 var OptionsPage = options.OptionsPage; | 6 var OptionsPage = options.OptionsPage; |
7 var ArrayDataModel = cr.ui.ArrayDataModel; | 7 var ArrayDataModel = cr.ui.ArrayDataModel; |
8 var RepeatingButton = cr.ui.RepeatingButton; | 8 var RepeatingButton = cr.ui.RepeatingButton; |
9 | 9 |
10 // | 10 // |
11 // BrowserOptions class | 11 // BrowserOptions class |
12 // Encapsulated handling of browser options page. | 12 // Encapsulated handling of browser options page. |
13 // | 13 // |
14 function BrowserOptions() { | 14 function BrowserOptions() { |
15 OptionsPage.call(this, 'settings', loadTimeData.getString('settingsTitle'), | 15 OptionsPage.call(this, 'settings', loadTimeData.getString('settingsTitle'), |
16 'settings'); | 16 'settings'); |
17 } | 17 } |
18 | 18 |
19 cr.addSingletonGetter(BrowserOptions); | 19 cr.addSingletonGetter(BrowserOptions); |
20 | 20 |
21 BrowserOptions.prototype = { | 21 BrowserOptions.prototype = { |
22 __proto__: options.OptionsPage.prototype, | 22 __proto__: options.OptionsPage.prototype, |
23 | 23 |
24 // State variables. | 24 // State variables. |
25 syncSetupCompleted: false, | 25 signedIn: false, |
26 | 26 |
27 /** | 27 /** |
28 * Keeps track of whether |onShowHomeButtonChanged_| has been called. See | 28 * Keeps track of whether |onShowHomeButtonChanged_| has been called. See |
29 * |onShowHomeButtonChanged_|. | 29 * |onShowHomeButtonChanged_|. |
30 * @type {bool} | 30 * @type {bool} |
31 * @private | 31 * @private |
32 */ | 32 */ |
33 onShowHomeButtonChangedCalled_: false, | 33 onShowHomeButtonChangedCalled_: false, |
34 | 34 |
35 /** | 35 /** |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 $('advanced-settings').addEventListener('webkitTransitionEnd', | 73 $('advanced-settings').addEventListener('webkitTransitionEnd', |
74 this.updateAdvancedSettingsExpander_.bind(this)); | 74 this.updateAdvancedSettingsExpander_.bind(this)); |
75 | 75 |
76 if (cr.isChromeOS) | 76 if (cr.isChromeOS) |
77 UIAccountTweaks.applyGuestModeVisibility(document); | 77 UIAccountTweaks.applyGuestModeVisibility(document); |
78 | 78 |
79 // Sync (Sign in) section. | 79 // Sync (Sign in) section. |
80 this.updateSyncState_(loadTimeData.getValue('syncData')); | 80 this.updateSyncState_(loadTimeData.getValue('syncData')); |
81 | 81 |
82 $('start-stop-sync').onclick = function(event) { | 82 $('start-stop-sync').onclick = function(event) { |
83 if (self.syncSetupCompleted) | 83 if (self.signedIn) |
84 SyncSetupOverlay.showStopSyncingUI(); | 84 SyncSetupOverlay.showStopSyncingUI(); |
85 else if (cr.isChromeOS) | 85 else if (cr.isChromeOS) |
86 SyncSetupOverlay.showSetupUIWithoutLogin(); | 86 SyncSetupOverlay.showSetupUIWithoutLogin(); |
87 else | 87 else |
88 SyncSetupOverlay.showSetupUI(); | 88 SyncSetupOverlay.showSetupUI(); |
89 }; | 89 }; |
90 $('customize-sync').onclick = function(event) { | 90 $('customize-sync').onclick = function(event) { |
91 if (cr.isChromeOS) | 91 if (cr.isChromeOS) |
92 SyncSetupOverlay.showSetupUIWithoutLogin(); | 92 SyncSetupOverlay.showSetupUIWithoutLogin(); |
93 else | 93 else |
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
657 * of the sync system. | 657 * of the sync system. |
658 * @private | 658 * @private |
659 */ | 659 */ |
660 updateSyncState_: function(syncData) { | 660 updateSyncState_: function(syncData) { |
661 if (!syncData.syncSystemEnabled) { | 661 if (!syncData.syncSystemEnabled) { |
662 $('sync-section').hidden = true; | 662 $('sync-section').hidden = true; |
663 return; | 663 return; |
664 } | 664 } |
665 | 665 |
666 $('sync-section').hidden = false; | 666 $('sync-section').hidden = false; |
667 this.syncSetupCompleted = syncData.setupCompleted; | 667 this.signedIn = syncData.signedIn; |
668 $('customize-sync').hidden = !syncData.setupCompleted; | 668 // Display the "setup sync" button if we're signed in and sync is not |
| 669 // managed. |
| 670 $('customize-sync').hidden = !(syncData.signedIn && !syncData.managed); |
669 | 671 |
670 var startStopButton = $('start-stop-sync'); | 672 var startStopButton = $('start-stop-sync'); |
671 startStopButton.disabled = syncData.managed || | 673 startStopButton.disabled = syncData.setupInProgress; |
672 syncData.setupInProgress; | |
673 startStopButton.hidden = | 674 startStopButton.hidden = |
674 syncData.setupCompleted && cr.isChromeOS; | 675 syncData.setupCompleted && cr.isChromeOS; |
675 startStopButton.textContent = | 676 startStopButton.textContent = |
676 syncData.setupCompleted ? | 677 syncData.signedIn ? |
677 loadTimeData.getString('syncButtonTextStop') : | 678 loadTimeData.getString('syncButtonTextStop') : |
678 syncData.setupInProgress ? | 679 syncData.setupInProgress ? |
679 loadTimeData.getString('syncButtonTextInProgress') : | 680 loadTimeData.getString('syncButtonTextInProgress') : |
680 loadTimeData.getString('syncButtonTextStart'); | 681 loadTimeData.getString('syncButtonTextStart'); |
681 $('start-stop-sync-indicator').hidden = startStopButton.hidden; | 682 $('start-stop-sync-indicator').hidden = startStopButton.hidden; |
682 | 683 |
683 // TODO(estade): can this just be textContent? | 684 // TODO(estade): can this just be textContent? |
684 $('sync-status-text').innerHTML = syncData.statusText; | 685 $('sync-status-text').innerHTML = syncData.statusText; |
685 var statusSet = syncData.statusText.length != 0; | 686 var statusSet = syncData.statusText.length != 0; |
686 $('sync-overview').hidden = statusSet; | 687 $('sync-overview').hidden = statusSet; |
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1365 BrowserOptions.getLoggedInUsername = function() { | 1366 BrowserOptions.getLoggedInUsername = function() { |
1366 return BrowserOptions.getInstance().username_; | 1367 return BrowserOptions.getInstance().username_; |
1367 }; | 1368 }; |
1368 } | 1369 } |
1369 | 1370 |
1370 // Export | 1371 // Export |
1371 return { | 1372 return { |
1372 BrowserOptions: BrowserOptions | 1373 BrowserOptions: BrowserOptions |
1373 }; | 1374 }; |
1374 }); | 1375 }); |
OLD | NEW |