Fixed mouse cursor in multi-desktop view and change password option.

This commit is contained in:
Ylian Saint-Hilaire 2020-05-15 14:49:18 -07:00
parent cb7665ff9a
commit 3127d115f9
3 changed files with 12 additions and 3 deletions

File diff suppressed because one or more lines are too long

View File

@ -58,7 +58,11 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
obj.onDisplayinfo = null; obj.onDisplayinfo = null;
obj.accumulator = null; obj.accumulator = null;
var xMouseCursorActive = true;
var xMouseCursorCurrent = 'default';
obj.mouseCursorActive = function (x) { if (xMouseCursorActive == x) return; xMouseCursorActive = x; obj.CanvasId.style.cursor = ((x == true) ? xMouseCursorCurrent : 'default'); }
var mouseCursors = ['default', 'progress', 'crosshair', 'pointer', 'help', 'text', 'no-drop', 'move', 'nesw-resize', 'ns-resize', 'nwse-resize', 'w-resize', 'alias', 'wait', 'none', 'not-allowed', 'col-resize', 'row-resize', 'copy', 'zoom-in', 'zoom-out']; var mouseCursors = ['default', 'progress', 'crosshair', 'pointer', 'help', 'text', 'no-drop', 'move', 'nesw-resize', 'ns-resize', 'nwse-resize', 'w-resize', 'alias', 'wait', 'none', 'not-allowed', 'col-resize', 'row-resize', 'copy', 'zoom-in', 'zoom-out'];
obj.Start = function () { obj.Start = function () {
obj.State = 0; obj.State = 0;
obj.accumulator = null; obj.accumulator = null;
@ -305,7 +309,8 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
if (cmdsize != 5) break; if (cmdsize != 5) break;
var cursorNum = str.charCodeAt(4); var cursorNum = str.charCodeAt(4);
if (cursorNum > mouseCursors.length) { cursorNum = 0; } if (cursorNum > mouseCursors.length) { cursorNum = 0; }
obj.CanvasId.style.cursor = mouseCursors[cursorNum]; xMouseCursorCurrent = mouseCursors[cursorNum];
if (xMouseCursorActive) { obj.CanvasId.style.cursor = xMouseCursorCurrent; }
break; break;
} }
return cmdsize + jumboAdd; return cmdsize + jumboAdd;

View File

@ -3560,6 +3560,7 @@
} else if (contype == 1) { } else if (contype == 1) {
// Setup the Mesh Agent remote desktop // Setup the Mesh Agent remote desktop
desk = CreateAgentRedirect(meshserver, CreateAgentRemoteDesktop('kvmid_' + shortid), serverPublicNamePort, authCookie, authRelayCookie, domainUrl); desk = CreateAgentRedirect(meshserver, CreateAgentRemoteDesktop('kvmid_' + shortid), serverPublicNamePort, authCookie, authRelayCookie, domainUrl);
desk.m.mouseCursorActive(xxcurrentView == 11);
desk.shortid = shortid; desk.shortid = shortid;
desk.attemptWebRTC = attemptWebRTC; desk.attemptWebRTC = attemptWebRTC;
desk.onStateChanged = onMultiDesktopStateChange; desk.onStateChanged = onMultiDesktopStateChange;
@ -5877,6 +5878,7 @@
if (desktop.m.SendCompressionLevel) { desktop.m.SendCompressionLevel(1, desktopsettings.quality, desktopsettings.scaling, desktopsettings.framerate); } if (desktop.m.SendCompressionLevel) { desktop.m.SendCompressionLevel(1, desktopsettings.quality, desktopsettings.scaling, desktopsettings.framerate); }
desktop.onStateChanged = onDesktopStateChange; desktop.onStateChanged = onDesktopStateChange;
desktop.onMetadataChange = function(metadata) { updateMetadata(desktop, 'deskmetadata'); } desktop.onMetadataChange = function(metadata) { updateMetadata(desktop, 'deskmetadata'); }
if (desktop && desktop.m.mouseCursorActive) { desktop.m.mouseCursorActive(true); }
desktopNode = currentNode; desktopNode = currentNode;
onDesktopStateChange(desktop, desktop.State); onDesktopStateChange(desktop, desktop.State);
delete multiDesktop[currentNode._id]; delete multiDesktop[currentNode._id];
@ -6063,6 +6065,7 @@
} else if ((contype == null) || (contype == 1) || ((contype == 3) && (currentNode.agent.id > 4))) { } else if ((contype == null) || (contype == 1) || ((contype == 3) && (currentNode.agent.id > 4))) {
// Setup the Mesh Agent remote desktop // Setup the Mesh Agent remote desktop
desktop = CreateAgentRedirect(meshserver, CreateAgentRemoteDesktop('Desk'), serverPublicNamePort, authCookie, authRelayCookie, domainUrl); desktop = CreateAgentRedirect(meshserver, CreateAgentRemoteDesktop('Desk'), serverPublicNamePort, authCookie, authRelayCookie, domainUrl);
desktop.m.mouseCursorActive(xxcurrentView == 11);
desktop.debugmode = debugmode; desktop.debugmode = debugmode;
desktop.m.debugmode = debugmode; desktop.m.debugmode = debugmode;
desktop.attemptWebRTC = attemptWebRTC; desktop.attemptWebRTC = attemptWebRTC;
@ -10960,7 +10963,8 @@
x = '<div style=float:right;font-size:x-small>'; x = '<div style=float:right;font-size:x-small>';
if (userAdminRights) { x += '<a href=# style=cursor:pointer onclick=\'return p30showDeleteUserDialog()\' title="' + "Remove this user" + '">' + "Delete User" + '</a>'; } if (userAdminRights) { x += '<a href=# style=cursor:pointer onclick=\'return p30showDeleteUserDialog()\' title="' + "Remove this user" + '">' + "Delete User" + '</a>'; }
x += '</div><div style=font-size:x-small>'; x += '</div><div style=font-size:x-small>';
if (userAdminRights) { x += '<a href=# style=cursor:pointer onclick=\'return p30showUserChangePassDialog(' + multiFactor + ')\' title="' + "Change the password for this user" + '">' + "Change Password" + '</a>'; } // If user admin rights and not SSPI/LDAP and UserID does not start with ~, show change password
if (userAdminRights && ((features & 0x00080000) == 0) && (userid.split('/')[2][0] != '~')) { x += '<a href=# style=cursor:pointer onclick=\'return p30showUserChangePassDialog(' + multiFactor + ')\' title="' + "Change the password for this user" + '">' + "Change Password" + '</a>'; }
x += '</div><br>' x += '</div><br>'
QH('p30html3', x); QH('p30html3', x);