Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: chrome/browser/resources/options2/chromeos/system_options.js

Issue 8937011: Revert "Options2: Pull the trigger." (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 cr.define('options', function() {
6
7 var OptionsPage = options.OptionsPage;
8 var RepeatingButton = cr.ui.RepeatingButton;
9
10 /////////////////////////////////////////////////////////////////////////////
11 // SystemOptions class:
12
13 /**
14 * Encapsulated handling of ChromeOS system options page.
15 * @constructor
16 */
17
18 function SystemOptions() {
19 OptionsPage.call(this, 'system', templateData.systemPageTabTitle,
20 'systemPage');
21 }
22
23 cr.addSingletonGetter(SystemOptions);
24
25 // Inherit SystemOptions from OptionsPage.
26 SystemOptions.prototype = {
27 __proto__: options.OptionsPage.prototype,
28
29 /**
30 * Initializes SystemOptions page.
31 * Calls base class implementation to starts preference initialization.
32 */
33 initializePage: function() {
34 OptionsPage.prototype.initializePage.call(this);
35
36 // Disable time-related settings if we're not logged in as a real user.
37 if (AccountsOptions.loggedInAsGuest()) {
38 var timezone = $('timezone-select');
39 if (timezone)
40 timezone.disabled = true;
41 var use_24hour_clock = $('use-24hour-clock');
42 if (use_24hour_clock)
43 use_24hour_clock.disabled = true;
44 }
45
46 options.system.bluetooth.BluetoothListElement.decorate(
47 $('bluetooth-device-list'));
48
49 // TODO(kevers): Populate list of connected bluetooth devices.
50 // Set state of 'Enable bluetooth' checkbox.
51 $('bluetooth-find-devices').onclick = function(event) {
52 findBluetoothDevices_();
53 };
54 $('enable-bluetooth').onclick = function(event) {
55 chrome.send('bluetoothEnableChange', [Boolean(true)]);
56 };
57 $('disable-bluetooth').onclick = function(event) {
58 chrome.send('bluetoothEnableChange', [Boolean(false)]);
59 };
60 $('language-button').onclick = function(event) {
61 OptionsPage.navigateToPage('language');
62 };
63 $('modifier-keys-button').onclick = function(event) {
64 OptionsPage.navigateToPage('languageCustomizeModifierKeysOverlay');
65 };
66 $('accesibility-check').onchange = function(event) {
67 chrome.send('accessibilityChange',
68 [String($('accesibility-check').checked)]);
69 };
70 initializeBrightnessButton_('brightness-decrease-button',
71 'decreaseScreenBrightness');
72 initializeBrightnessButton_('brightness-increase-button',
73 'increaseScreenBrightness');
74 }
75 };
76
77 /**
78 * Initializes a button for controlling screen brightness.
79 * @param {string} id Button ID.
80 * @param {string} callback Name of the callback function.
81 */
82 function initializeBrightnessButton_(id, callback) {
83 var button = $(id);
84 cr.ui.decorate(button, RepeatingButton);
85 button.repeatInterval = 300;
86 button.addEventListener(RepeatingButton.Event.BUTTON_HELD, function(e) {
87 chrome.send(callback);
88 });
89 }
90
91 /**
92 * Scan for bluetooth devices.
93 * @private
94 */
95 function findBluetoothDevices_() {
96 setVisibility_('bluetooth-scanning-label', true);
97 setVisibility_('bluetooth-scanning-icon', true);
98
99 // Remove devices that are not currently connected.
100 var devices = $('bluetooth-device-list').childNodes;
101 for (var i = devices.length - 1; i >= 0; i--) {
102 var device = devices.item(i);
103 var data = device.data;
104 if (!data || data.status !== 'connected')
105 $('bluetooth-device-list').removeChild(device);
106 }
107 chrome.send('findBluetoothDevices');
108 }
109
110 /**
111 * Sets the visibility of an element.
112 * @param {string} id The id of the element.
113 * @param {boolean} visible True if the element should be made visible.
114 * @private
115 */
116 function setVisibility_(id, visible) {
117 if (visible)
118 $(id).classList.remove("transparent");
119 else
120 $(id).classList.add("transparent");
121 }
122
123 //
124 // Chrome callbacks
125 //
126
127 /**
128 * Set the initial state of the accessibility checkbox.
129 */
130 SystemOptions.SetAccessibilityCheckboxState = function(checked) {
131 $('accesibility-check').checked = checked;
132 };
133
134 /**
135 * Activate the bluetooth settings section on the System settings page.
136 */
137 SystemOptions.showBluetoothSettings = function() {
138 $('bluetooth-devices').hidden = false;
139 };
140
141 /**
142 * Sets the state of the checkbox indicating if bluetooth is turned on. The
143 * state of the "Find devices" button and the list of discovered devices may
144 * also be affected by a change to the state.
145 * @param {boolean} checked Flag Indicating if Bluetooth is turned on.
146 */
147 SystemOptions.setBluetoothState = function(checked) {
148 $('disable-bluetooth').hidden = !checked;
149 $('enable-bluetooth').hidden = checked;
150 $('bluetooth-finder-container').hidden = !checked;
151 $('no-bluetooth-devices-label').hidden = !checked;
152 if (!checked) {
153 setVisibility_('bluetooth-scanning-label', false);
154 setVisibility_('bluetooth-scanning-icon', false);
155 }
156 // Flush list of previously discovered devices if bluetooth is turned off.
157 if (!checked) {
158 var devices = $('bluetooth-device-list').childNodes;
159 for (var i = devices.length - 1; i >= 0; i--) {
160 var device = devices.item(i);
161 $('bluetooth-device-list').removeChild(device);
162 }
163 }
164 }
165
166 /**
167 * Adds an element to the list of available bluetooth devices. If an element
168 * with a matching address is found, the existing element is updated.
169 * @param {{name: string,
170 * address: string,
171 * icon: string,
172 * paired: boolean,
173 * connected: boolean}} device
174 * Decription of the bluetooth device.
175 */
176 SystemOptions.addBluetoothDevice = function(device) {
177 if ($('bluetooth-device-list').appendDevice(device))
178 $('no-bluetooth-devices-label').hidden = true;
179 };
180
181 /**
182 * Hides the scanning label and icon that are used to indicate that a device
183 * search is in progress.
184 */
185 SystemOptions.notifyBluetoothSearchComplete = function() {
186 setVisibility_('bluetooth-scanning-label', false);
187 setVisibility_('bluetooth-scanning-icon', false);
188 };
189
190 /**
191 * Displays the Touchpad Controls section when we detect a touchpad.
192 */
193 SystemOptions.showTouchpadControls = function() {
194 $('touchpad-controls').hidden = false;
195 };
196
197 // Export
198 return {
199 SystemOptions: SystemOptions
200 };
201
202 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698