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 /** | 5 /** |
6 * @fileoverview | 6 * @fileoverview |
7 * Class representing the client tool-bar. | 7 * Class representing the client tool-bar. |
8 */ | 8 */ |
9 | 9 |
10 'use strict'; | 10 'use strict'; |
(...skipping 24 matching lines...) Expand all Loading... |
35 /** | 35 /** |
36 * @type {number} The left edge of the tool-bar stub, updated on resize. | 36 * @type {number} The left edge of the tool-bar stub, updated on resize. |
37 * @private | 37 * @private |
38 */ | 38 */ |
39 this.stubLeft_ = 0; | 39 this.stubLeft_ = 0; |
40 /** | 40 /** |
41 * @type {number} The right edge of the tool-bar stub, updated on resize. | 41 * @type {number} The right edge of the tool-bar stub, updated on resize. |
42 * @private | 42 * @private |
43 */ | 43 */ |
44 this.stubRight_ = 0; | 44 this.stubRight_ = 0; |
| 45 /** |
| 46 * @type {remoting.OptionsMenu} |
| 47 * @private |
| 48 */ |
| 49 this.optionsMenu_ = new remoting.OptionsMenu( |
| 50 document.getElementById('send-ctrl-alt-del'), |
| 51 document.getElementById('send-print-screen'), |
| 52 document.getElementById('screen-resize-to-client'), |
| 53 document.getElementById('screen-shrink-to-fit'), |
| 54 document.getElementById('toggle-full-screen')); |
45 | 55 |
46 window.addEventListener('mousemove', remoting.Toolbar.onMouseMove, false); | 56 window.addEventListener('mousemove', remoting.Toolbar.onMouseMove, false); |
47 window.addEventListener('resize', this.center.bind(this), false); | 57 window.addEventListener('resize', this.center.bind(this), false); |
48 | 58 |
49 registerEventListener('new-connection', 'click', | 59 registerEventListener('new-connection', 'click', |
50 function() { | 60 function() { |
51 chrome.app.window.create('main.html', { 'width': 800, 'height': 600 }); | 61 chrome.app.window.create('main.html', { 'width': 800, 'height': 600 }); |
52 }); | 62 }); |
53 registerEventListener('send-ctrl-alt-del', 'click', remoting.sendCtrlAltDel); | |
54 registerEventListener('send-print-screen', 'click', remoting.sendPrintScreen); | |
55 registerEventListener('sign-out', 'click', remoting.signOut); | |
56 registerEventListener('toolbar-disconnect', 'click', remoting.disconnect); | 63 registerEventListener('toolbar-disconnect', 'click', remoting.disconnect); |
57 registerEventListener('toolbar-stub', 'click', | 64 registerEventListener('toolbar-stub', 'click', |
58 function() { remoting.toolbar.toggle(); }); | 65 function() { remoting.toolbar.toggle(); }); |
59 | 66 |
60 // Prevent the preview canceling if the user is interacting with the tool-bar. | 67 // Prevent the preview canceling if the user is interacting with the tool-bar. |
61 /** @type {remoting.Toolbar} */ | 68 /** @type {remoting.Toolbar} */ |
62 var that = this; | 69 var that = this; |
63 var stopTimer = function() { | 70 var stopTimer = function() { |
64 if (that.timerId_) { | 71 if (that.timerId_) { |
65 window.clearTimeout(that.timerId_); | 72 window.clearTimeout(that.timerId_); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 }; | 104 }; |
98 | 105 |
99 /** | 106 /** |
100 * Toggle the tool-bar visibility. | 107 * Toggle the tool-bar visibility. |
101 */ | 108 */ |
102 remoting.Toolbar.prototype.toggle = function() { | 109 remoting.Toolbar.prototype.toggle = function() { |
103 this.toolbar_.classList.toggle(remoting.Toolbar.VISIBLE_CLASS_); | 110 this.toolbar_.classList.toggle(remoting.Toolbar.VISIBLE_CLASS_); |
104 }; | 111 }; |
105 | 112 |
106 /** | 113 /** |
| 114 * @param {remoting.ClientSession} clientSession The active session, or null if |
| 115 * there is no connection. |
| 116 */ |
| 117 remoting.Toolbar.prototype.setClientSession = function(clientSession) { |
| 118 this.optionsMenu_.setClientSession(clientSession); |
| 119 var connectedTo = document.getElementById('connected-to'); |
| 120 connectedTo.innerText = clientSession.getHostDisplayName(); |
| 121 }; |
| 122 |
| 123 /** |
107 * Test the specified co-ordinate to see if it is close enough to the stub | 124 * Test the specified co-ordinate to see if it is close enough to the stub |
108 * to activate it. | 125 * to activate it. |
109 * | 126 * |
110 * @param {number} x The x co-ordinate. | 127 * @param {number} x The x co-ordinate. |
111 * @param {number} y The y co-ordinate. | 128 * @param {number} y The y co-ordinate. |
112 * @return {boolean} True if the position should activate the tool-bar stub, or | 129 * @return {boolean} True if the position should activate the tool-bar stub, or |
113 * false otherwise. | 130 * false otherwise. |
114 * @private | 131 * @private |
115 */ | 132 */ |
116 remoting.Toolbar.prototype.hitTest_ = function(x, y) { | 133 remoting.Toolbar.prototype.hitTest_ = function(x, y) { |
(...skipping 25 matching lines...) Expand all Loading... |
142 } | 159 } |
143 }; | 160 }; |
144 | 161 |
145 /** @type {remoting.Toolbar} */ | 162 /** @type {remoting.Toolbar} */ |
146 remoting.toolbar = null; | 163 remoting.toolbar = null; |
147 | 164 |
148 /** @private */ | 165 /** @private */ |
149 remoting.Toolbar.STUB_EXTENDED_CLASS_ = 'toolbar-stub-extended'; | 166 remoting.Toolbar.STUB_EXTENDED_CLASS_ = 'toolbar-stub-extended'; |
150 /** @private */ | 167 /** @private */ |
151 remoting.Toolbar.VISIBLE_CLASS_ = 'toolbar-visible'; | 168 remoting.Toolbar.VISIBLE_CLASS_ = 'toolbar-visible'; |
OLD | NEW |