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 3// found in the LICENSE file. 4 5cr.define('options', function() { 6 7 /** 8 * Encapsulated handling of the keyboard overlay. 9 * @constructor 10 */ 11 function KeyboardOverlay() { 12 options.SettingsDialog.call(this, 'keyboard-overlay', 13 loadTimeData.getString('keyboardOverlayTitle'), 14 'keyboard-overlay', 15 $('keyboard-confirm'), $('keyboard-cancel')); 16 } 17 18 cr.addSingletonGetter(KeyboardOverlay); 19 20 KeyboardOverlay.prototype = { 21 __proto__: options.SettingsDialog.prototype, 22 23 /** 24 * Initializes the page. This method is called in initialize. 25 */ 26 initializePage: function() { 27 options.SettingsDialog.prototype.initializePage.call(this); 28 29 $('languages-and-input-settings').onclick = function(e) { 30 OptionsPage.navigateToPage('languages'); 31 chrome.send('coreOptionsUserMetricsAction', 32 ['Options_KeyboardShowLanguageSettings']); 33 }; 34 35 $('keyboard-shortcuts').onclick = function(e) { 36 chrome.send('showKeyboardShortcuts'); 37 chrome.send('coreOptionsUserMetricsAction', 38 ['Options_KeyboardShowKeyboardShortcuts']); 39 }; 40 }, 41 42 /** 43 * Show/hide the caps lock remapping section. 44 * @private 45 */ 46 showCapsLockOptions_: function(show) { 47 $('caps-lock-remapping-section').hidden = !show; 48 }, 49 50 /** 51 * Show/hide the diamond key remapping section. 52 * @private 53 */ 54 showDiamondKeyOptions_: function(show) { 55 $('diamond-key-remapping-section').hidden = !show; 56 }, 57 }; 58 59 // Forward public APIs to private implementations. 60 [ 61 'showCapsLockOptions', 62 'showDiamondKeyOptions', 63 ].forEach(function(name) { 64 KeyboardOverlay[name] = function() { 65 var instance = KeyboardOverlay.getInstance(); 66 return instance[name + '_'].apply(instance, arguments); 67 }; 68 }); 69 70 // Export 71 return { 72 KeyboardOverlay: KeyboardOverlay 73 }; 74}); 75