mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-09 22:51:22 +00:00
Login screen style improvements.
This commit is contained in:
@@ -734,6 +734,46 @@ GuacamoleUI.attach = function(guac) {
|
||||
|
||||
}
|
||||
|
||||
function updateThumbnail() {
|
||||
|
||||
// Get screenshot
|
||||
var canvas = guac.flatten();
|
||||
|
||||
// Calculate scale of thumbnail (max 320x240, max zoom 100%)
|
||||
var scale = Math.min(
|
||||
320 / canvas.width,
|
||||
240 / canvas.height,
|
||||
1
|
||||
);
|
||||
|
||||
// Create thumbnail canvas
|
||||
var thumbnail = document.createElement("canvas");
|
||||
thumbnail.width = canvas.width*scale;
|
||||
thumbnail.height = canvas.height*scale;
|
||||
|
||||
// Scale screenshot to thumbnail
|
||||
var context = thumbnail.getContext("2d");
|
||||
context.drawImage(canvas,
|
||||
0, 0, canvas.width, canvas.height,
|
||||
0, 0, thumbnail.width, thumbnail.height
|
||||
);
|
||||
|
||||
// Get thumbnail set from local storage
|
||||
var thumbnails = {};
|
||||
try {
|
||||
var thumbnail_json = localStorage.getItem("GUAC_THUMBNAILS");
|
||||
if (thumbnail_json)
|
||||
thumbnails = JSON.parse(thumbnail_json);
|
||||
}
|
||||
catch (e) {}
|
||||
|
||||
// Save thumbnail to local storage
|
||||
var id = decodeURIComponent(window.location.search.substring(4));
|
||||
thumbnails[id] = thumbnail.toDataURL();
|
||||
localStorage.setItem("GUAC_THUMBNAILS", JSON.stringify(thumbnails));
|
||||
|
||||
}
|
||||
|
||||
// Enable keyboard by default
|
||||
enableKeyboard();
|
||||
|
||||
@@ -781,47 +821,10 @@ GuacamoleUI.attach = function(guac) {
|
||||
GuacamoleUI.hideStatus();
|
||||
title_prefix = null;
|
||||
|
||||
if (localStorage) {
|
||||
window.setTimeout(function() {
|
||||
// Regularly update screenshot if storage available
|
||||
if (localStorage)
|
||||
window.setInterval(updateThumbnail, 5000);
|
||||
|
||||
// Get screenshot
|
||||
var canvas = guac.flatten();
|
||||
|
||||
// Calculate scale of thumbnail (max 320x240, max zoom 100%)
|
||||
var scale = Math.min(
|
||||
320 / canvas.width,
|
||||
240 / canvas.height,
|
||||
1
|
||||
);
|
||||
|
||||
// Create thumbnail canvas
|
||||
var thumbnail = document.createElement("canvas");
|
||||
thumbnail.width = canvas.width*scale;
|
||||
thumbnail.height = canvas.height*scale;
|
||||
|
||||
// Scale screenshot to thumbnail
|
||||
var context = thumbnail.getContext("2d");
|
||||
context.drawImage(canvas,
|
||||
0, 0, canvas.width, canvas.height,
|
||||
0, 0, thumbnail.width, thumbnail.height
|
||||
);
|
||||
|
||||
// Get thumbnail set from local storage
|
||||
var thumbnails = {};
|
||||
try {
|
||||
var thumbnail_json = localStorage.getItem("GUAC_THUMBNAILS");
|
||||
if (thumbnail_json)
|
||||
thumbnails = JSON.parse(thumbnail_json);
|
||||
}
|
||||
catch (e) {}
|
||||
|
||||
// Save thumbnail to local storage
|
||||
var id = decodeURIComponent(window.location.search.substring(4));
|
||||
thumbnails[id] = thumbnail.toDataURL();
|
||||
localStorage.setItem("GUAC_THUMBNAILS", JSON.stringify(thumbnails));
|
||||
|
||||
}, 5000);
|
||||
}
|
||||
break;
|
||||
|
||||
// Disconnecting
|
||||
@@ -862,9 +865,14 @@ GuacamoleUI.attach = function(guac) {
|
||||
|
||||
};
|
||||
|
||||
// Disconnect on close
|
||||
// Disconnect and update thumbnail on close
|
||||
window.onunload = function() {
|
||||
|
||||
if (localStorage)
|
||||
updateThumbnail();
|
||||
|
||||
guac.disconnect();
|
||||
|
||||
};
|
||||
|
||||
// Send size events on resize
|
||||
|
Reference in New Issue
Block a user