Commit 6209639f authored by Joel Martin's avatar Joel Martin

Add WebSocket URL path to UI settings.

parent 7cd6118c
...@@ -36,6 +36,9 @@ html { ...@@ -36,6 +36,9 @@ html {
#noVNC_connectTimeout { #noVNC_connectTimeout {
width: 30px; width: 30px;
} }
#noVNC_path {
width: 100px;
}
#noVNC_connect_button { #noVNC_connect_button {
width: 110px; width: 110px;
float:right; float:right;
......
...@@ -35,7 +35,7 @@ var that = {}, // Public API methods ...@@ -35,7 +35,7 @@ var that = {}, // Public API methods
rfb_host = '', rfb_host = '',
rfb_port = 5900, rfb_port = 5900,
rfb_password = '', rfb_password = '',
rfb_uri = '', rfb_path = '',
rfb_state = 'disconnected', rfb_state = 'disconnected',
rfb_version = 0, rfb_version = 0,
...@@ -273,7 +273,7 @@ function connect() { ...@@ -273,7 +273,7 @@ function connect() {
} else { } else {
uri = "ws://"; uri = "ws://";
} }
uri += rfb_host + ":" + rfb_port + "/" + rfb_uri; uri += rfb_host + ":" + rfb_port + "/" + rfb_path;
Util.Info("connecting to " + uri); Util.Info("connecting to " + uri);
ws.open(uri); ws.open(uri);
...@@ -1526,13 +1526,13 @@ clientCutText = function(text) { ...@@ -1526,13 +1526,13 @@ clientCutText = function(text) {
// Public API interface functions // Public API interface functions
// //
that.connect = function(host, port, password, uri) { that.connect = function(host, port, password, path) {
//Util.Debug(">> connect"); //Util.Debug(">> connect");
rfb_host = host; rfb_host = host;
rfb_port = port; rfb_port = port;
rfb_password = (password !== undefined) ? password : ""; rfb_password = (password !== undefined) ? password : "";
rfb_uri = (uri !== undefined) ? uri : ""; rfb_path = (path !== undefined) ? path : "";
if ((!rfb_host) || (!rfb_port)) { if ((!rfb_host) || (!rfb_port)) {
return fail("Must set host and port"); return fail("Must set host and port");
......
...@@ -52,6 +52,7 @@ load: function() { ...@@ -52,6 +52,7 @@ load: function() {
UI.initSetting('cursor', false); UI.initSetting('cursor', false);
UI.initSetting('shared', true); UI.initSetting('shared', true);
UI.initSetting('connectTimeout', 2); UI.initSetting('connectTimeout', 2);
UI.initSetting('path', '');
UI.rfb = RFB({'target': $D('noVNC_canvas'), UI.rfb = RFB({'target': $D('noVNC_canvas'),
'onUpdateState': UI.updateState, 'onUpdateState': UI.updateState,
...@@ -246,6 +247,7 @@ toggleSettingsPanel: function() { ...@@ -246,6 +247,7 @@ toggleSettingsPanel: function() {
UI.updateSetting('clip'); UI.updateSetting('clip');
UI.updateSetting('shared'); UI.updateSetting('shared');
UI.updateSetting('connectTimeout'); UI.updateSetting('connectTimeout');
UI.updateSetting('path');
UI.updateSetting('stylesheet'); UI.updateSetting('stylesheet');
UI.updateSetting('logging'); UI.updateSetting('logging');
...@@ -283,6 +285,7 @@ settingsApply: function() { ...@@ -283,6 +285,7 @@ settingsApply: function() {
UI.saveSetting('clip'); UI.saveSetting('clip');
UI.saveSetting('shared'); UI.saveSetting('shared');
UI.saveSetting('connectTimeout'); UI.saveSetting('connectTimeout');
UI.saveSetting('path');
UI.saveSetting('stylesheet'); UI.saveSetting('stylesheet');
UI.saveSetting('logging'); UI.saveSetting('logging');
...@@ -394,6 +397,7 @@ updateVisualState: function() { ...@@ -394,6 +397,7 @@ updateVisualState: function() {
} }
$D('noVNC_shared').disabled = connected; $D('noVNC_shared').disabled = connected;
$D('noVNC_connectTimeout').disabled = connected; $D('noVNC_connectTimeout').disabled = connected;
$D('noVNC_path').disabled = connected;
if (connected) { if (connected) {
UI.setViewClip(); UI.setViewClip();
...@@ -435,7 +439,7 @@ clipReceive: function(rfb, text) { ...@@ -435,7 +439,7 @@ clipReceive: function(rfb, text) {
connect: function() { connect: function() {
var host, port, password; var host, port, password, path;
UI.closeSettingsMenu(); UI.closeSettingsMenu();
UI.toggleConnectPanel(); UI.toggleConnectPanel();
...@@ -443,6 +447,7 @@ connect: function() { ...@@ -443,6 +447,7 @@ connect: function() {
host = $D('noVNC_host').value; host = $D('noVNC_host').value;
port = $D('noVNC_port').value; port = $D('noVNC_port').value;
password = $D('noVNC_password').value; password = $D('noVNC_password').value;
path = $D('noVNC_path').value;
if ((!host) || (!port)) { if ((!host) || (!port)) {
throw("Must set host and port"); throw("Must set host and port");
} }
...@@ -453,7 +458,7 @@ connect: function() { ...@@ -453,7 +458,7 @@ connect: function() {
UI.rfb.set_shared(UI.getSetting('shared')); UI.rfb.set_shared(UI.getSetting('shared'));
UI.rfb.set_connectTimeout(UI.getSetting('connectTimeout')); UI.rfb.set_connectTimeout(UI.getSetting('connectTimeout'));
UI.rfb.connect(host, port, password); UI.rfb.connect(host, port, password, path);
//Close dialog. //Close dialog.
setTimeout(UI.setBarPosition, 100); setTimeout(UI.setBarPosition, 100);
$D('noVNC_logo').style.display = "none"; $D('noVNC_logo').style.display = "none";
......
...@@ -122,6 +122,7 @@ ...@@ -122,6 +122,7 @@
<li><input id="noVNC_clip" type="checkbox"> Clip to window</li> <li><input id="noVNC_clip" type="checkbox"> Clip to window</li>
<li><input id="noVNC_shared" type="checkbox"> Shared Mode</li> <li><input id="noVNC_shared" type="checkbox"> Shared Mode</li>
<li><input id="noVNC_connectTimeout" type="input"> Connect Timeout (s)</li> <li><input id="noVNC_connectTimeout" type="input"> Connect Timeout (s)</li>
<li><input id="noVNC_path" type="input"> Path</li>
<hr> <hr>
<!-- Stylesheet selection dropdown --> <!-- Stylesheet selection dropdown -->
<li><label><strong>Style: </strong> <li><label><strong>Style: </strong>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment