Auto-close the toolbar on connect after a delay

This commit is contained in:
Samuel Mannehed 2016-08-31 11:57:38 +02:00 committed by Pierre Ossman
parent 04b399e27d
commit 3f93a385a2
1 changed files with 22 additions and 5 deletions

View File

@ -41,7 +41,8 @@ var UI;
resizeTimeout: null, resizeTimeout: null,
statusTimeout: null, statusTimeout: null,
hideKeyboardTimeout: null, hideKeyboardTimeout: null,
controlbarTimeout: null, idleControlbarTimeout: null,
closeControlbarTimeout: null,
controlbarGrabbed: false, controlbarGrabbed: false,
controlbarDrag: false, controlbarDrag: false,
@ -202,6 +203,11 @@ var UI;
document.getElementById("noVNC_control_bar") document.getElementById("noVNC_control_bar")
.addEventListener('keypress', UI.activateControlbar); .addEventListener('keypress', UI.activateControlbar);
document.getElementById("noVNC_control_bar")
.addEventListener('mousedown', UI.keepControlbar);
document.getElementById("noVNC_control_bar")
.addEventListener('keypress', UI.keepControlbar);
document.getElementById("noVNC_view_drag_button") document.getElementById("noVNC_view_drag_button")
.addEventListener('click', UI.toggleViewDrag); .addEventListener('click', UI.toggleViewDrag);
document.getElementById("noVNC_send_ctrl_alt_del_button") document.getElementById("noVNC_send_ctrl_alt_del_button")
@ -245,6 +251,11 @@ var UI;
document.getElementById("noVNC_control_bar") document.getElementById("noVNC_control_bar")
.addEventListener('input', UI.activateControlbar); .addEventListener('input', UI.activateControlbar);
document.getElementById("noVNC_control_bar")
.addEventListener('touchstart', UI.keepControlbar);
document.getElementById("noVNC_control_bar")
.addEventListener('input', UI.keepControlbar);
document.getElementById("noVNC_control_bar_handle") document.getElementById("noVNC_control_bar_handle")
.addEventListener('touchstart', UI.controlbarHandleMouseDown); .addEventListener('touchstart', UI.controlbarHandleMouseDown);
document.getElementById("noVNC_control_bar_handle") document.getElementById("noVNC_control_bar_handle")
@ -405,6 +416,9 @@ var UI;
document.documentElement.classList.add("noVNC_connected"); document.documentElement.classList.add("noVNC_connected");
UI.updateViewClip(); UI.updateViewClip();
UI.setMouseButton(1); UI.setMouseButton(1);
// Hide the controlbar after 2 seconds
UI.closeControlbarTimeout = setTimeout(UI.closeControlbar, 2000);
} else { } else {
document.documentElement.classList.remove("noVNC_connected"); document.documentElement.classList.remove("noVNC_connected");
UI.updateXvpButton(0); UI.updateXvpButton(0);
@ -480,13 +494,13 @@ var UI;
document.getElementById('noVNC_status').classList.remove("noVNC_open"); document.getElementById('noVNC_status').classList.remove("noVNC_open");
}, },
activateControlbar: function() { activateControlbar: function(event) {
clearTimeout(UI.controlbarTimeout); clearTimeout(UI.idleControlbarTimeout);
// We manipulate the anchor instead of the actual control // We manipulate the anchor instead of the actual control
// bar in order to avoid creating new a stacking group // bar in order to avoid creating new a stacking group
document.getElementById('noVNC_control_bar_anchor') document.getElementById('noVNC_control_bar_anchor')
.classList.remove("noVNC_idle"); .classList.remove("noVNC_idle");
UI.controlbarTimeout = window.setTimeout(UI.idleControlbar, 2000); UI.idleControlbarTimeout = window.setTimeout(UI.idleControlbar, 2000);
}, },
idleControlbar: function() { idleControlbar: function() {
@ -494,6 +508,10 @@ var UI;
.classList.add("noVNC_idle"); .classList.add("noVNC_idle");
}, },
keepControlbar: function() {
clearTimeout(UI.closeControlbarTimeout);
},
openControlbar: function() { openControlbar: function() {
document.getElementById('noVNC_control_bar') document.getElementById('noVNC_control_bar')
.classList.add("noVNC_open"); .classList.add("noVNC_open");
@ -923,7 +941,6 @@ var UI;
connect: function() { connect: function() {
UI.closeAllPanels(); UI.closeAllPanels();
UI.closeControlbar();
var host = document.getElementById('noVNC_setting_host').value; var host = document.getElementById('noVNC_setting_host').value;
var port = document.getElementById('noVNC_setting_port').value; var port = document.getElementById('noVNC_setting_port').value;