| // 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 |
| }; |
| }); |