blob: eaeaf941af524704c34bc8931fc59b97831d2b64 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
cr.define('options', function() {
/** @const */ var SettingsDialog = options.SettingsDialog;
/**
* PointerOverlay class
* Dialog that allows users to set pointer settings (touchpad/mouse).
* @extends {SettingsDialog}
*/
function PointerOverlay() {
// The title is updated dynamically in the setTitle method as pointer
// devices are discovered or removed.
SettingsDialog.call(this, 'pointer-overlay',
'', 'pointer-overlay',
$('pointer-overlay-confirm'),
$('pointer-overlay-cancel'));
}
cr.addSingletonGetter(PointerOverlay);
PointerOverlay.prototype = {
__proto__: SettingsDialog.prototype,
/**
* Initialize the page.
*/
initializePage: function() {
// Call base class implementation to start preference initialization.
SettingsDialog.prototype.initializePage.call(this);
},
};
/**
* Sets the visibility state of the touchpad group.
* @param {boolean} show True to show, false to hide.
*/
PointerOverlay.showTouchpadControls = function(show) {
$('pointer-section-touchpad').hidden = !show;
};
/**
* Sets the visibility state of the mouse group.
* @param {boolean} show True to show, false to hide.
*/
PointerOverlay.showMouseControls = function(show) {
$('pointer-section-mouse').hidden = !show;
};
/**
* Updates the title of the pointer dialog. The title is set dynamically
* based on whether a touchpad, mouse or both are present. The label on the
* button that activates the overlay is also updated to stay in sync. A
* message is displayed in the main settings page if no pointer devices are
* available.
* @param {String} label i18n key for the overlay title.
*/
PointerOverlay.setTitle = function(label) {
var header = $('pointer-overlay-title');
var button = $('pointer-settings-button');
var noPointersLabel = $('no-pointing-devices');
if (label.length > 0) {
var title = loadTimeData.getString(label);
header.textContent = title;
button.textContent = title;
button.hidden = false;
noPointersLabel.hidden = true;
} else {
header.textContent = '';
button.hidden = true;
noPointersLabel.hidden = false;
}
};
// Export
return {
PointerOverlay: PointerOverlay
};
});