mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 09:03:21 +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