Fixed remote desktop input only and Android.

Ylian Saint-Hilaire committed Mar 18, 2021 at 14:26 UTC 60c752c0c8cd98b530ed087f38a51f0777ce0721
3 files changed +31 -17
public/styles/style.css
+2 -1
@@ -2324,6 +2324,7 @@ a {
2324 padding-top: 2px;
2325 padding-bottom: 2px;
2326 background: #C0C0C0;
2327 + height: 22px;
2328 }
2329
2330 .night .areaFoot {
@@ -2557,7 +2558,7 @@ a {
2558 }
2559
2560 #DeskClip, #DeskControlSpan, #specialkeylist {
2560 - margin-left: 6px;
2561 + padding-left: 6px;
2562 }
2563
2564 .serverStateTableCell {
views/default-mobile.handlebars
+14 -5
@@ -4001,16 +4001,25 @@
4001 QV('p10deskTopTable', !fullscreen);
4002 QV('deskarea1', !fullscreen);
4003 QV('deskarea4', !fullscreen);
4004 +
4005 + var rights = GetNodeRights(currentNode);
4006 + var inputAllowed = (currentNode.agent.id != 14) && ((rights == 0xFFFFFFFF) || (((rights & 8) != 0) && ((rights & 256) == 0) && ((rights & 4096) == 0)));
4007 +
4008 + // Move the zoom button to normal or top position
4009 + QS('deskkeybutton5a').top = QS('deskkeybutton5b').top = (inputAllowed) ? '160px' : '60px';
4010 +
4011 + // Show full screen buttons if needed
4012 QV('deskkeybutton1', fullscreen);
4005 - QV('deskkeybutton2a', fullscreen);
4013 + QV('deskkeybutton2a', fullscreen && inputAllowed);
4014 QV('deskkeybutton2b', false);
4007 - QV('deskkeybutton3a', fullscreen);
4015 + QV('deskkeybutton3a', fullscreen && inputAllowed);
4016 QV('deskkeybutton3b', false);
4009 - QV('deskkeybutton4a', fullscreen && (!desktop.m.SwapMouse));
4010 - QV('deskkeybutton4b', fullscreen && (desktop.m.SwapMouse));
4017 + QV('deskkeybutton4a', fullscreen && inputAllowed && (!desktop.m.SwapMouse));
4018 + QV('deskkeybutton4b', fullscreen && inputAllowed && (desktop.m.SwapMouse));
4019 QV('deskkeybutton5a', fullscreen && (fullscreenzoom == 1));
4020 QV('deskkeybutton5b', fullscreen && (fullscreenzoom != 1));
4013 - if (fullscreen) {
4021 +
4022 + if (fullscreen) {deskkeybutton5a
4023 QS('DeskParent').height = null;
4024 QS('page_content').top = '0px';
4025 QS('page_content').bottom = '0px';
views/default.handlebars
+15 -11
@@ -635,8 +635,8 @@
635 <select id="deskkeys" cmenu=deskKeyShortcutContextMenu></select>
636 <input id="DeskWD" type=button value="Send" onkeypress="return false" onkeydown="return false" onclick="deskSendKeys()" />
637 <input id="DeskESC" style="display:none" type="button" value="ESC" onkeypress="return false" onkeydown="return false" onclick="sendDeskEsc()" />
638 - <input id="DeskClip" style="" type="button" value="Clipboard" onkeypress="return false" onkeydown="return false" onclick="showDeskClip()" />
639 - <input id="DeskType" style="" type="button" value="Type" onkeypress="return false" onkeydown="return false" onclick="showDeskType()" />
638 + <input id="DeskClip" type="button" value="Clipboard" onkeypress="return false" onkeydown="return false" onclick="showDeskClip()" />
639 + <input id="DeskType" type="button" value="Type" onkeypress="return false" onkeydown="return false" onclick="showDeskType()" />
640 <label><span id="DeskControlSpan" title="Toggle mouse and keyboard input"><input id="DeskControl" type="checkbox" onkeypress="return false" onkeydown="return false" onclick="toggleKvmControl()" />Input</span></label>&nbsp;
641 </div>
642 </div>
@@ -1531,10 +1531,6 @@
1531 }
1532 }
1533
1534 - // Enable browser clipboard read if supported
1535 - QV('DeskClipboardOutButton', (navigator.clipboard != null) && (navigator.clipboard.readText != null));
1536 - QV('DeskClipboardInButton', (navigator.clipboard != null) && (navigator.clipboard.writeText != null));
1537 -
1534 // Session Refresh Timer
1535 if (sessionTime >= 10) { sessionRefreshTimer = setTimeout(refreshCookieSession, Math.round((sessionTime * 60000) * 0.8)); }
1536
@@ -7125,19 +7121,26 @@
7121 QV('d7meshkvm', (webRtcDesktop) || ((currentNode.agent != null) && (currentNode.agent.caps & 1) && ((deskState == false) || (desktop.contype == 1))));
7122
7123 // Enable buttons
7128 - var inputAllowed = (rights == 0xFFFFFFFF) || (((rights & 8) != 0) && ((rights & 256) == 0) && ((rights & 4096) == 0));
7124 + var inputAllowed = (currentNode.agent.id != 14) && ((rights == 0xFFFFFFFF) || (((rights & 8) != 0) && ((rights & 256) == 0) && ((rights & 4096) == 0)));
7125 var online = ((currentNode.conn & 1) != 0); // If Agent (1) connected, enable remote desktop
7126 QE('connectbutton1', online);
7127 var hwonline = ((currentNode.conn & 6) != 0); // If CIRA (2) or AMT (4) connected, enable hardware terminal
7128 QE('connectbutton1h', hwonline);
7129 QV('deskFocusBtn', (desktop != null) && (desktop.contype == 2) && (deskState != 0) && (desktopsettings.showfocus));
7134 - QV('DeskClip', (currentNode.agent) && (currentNode.agent.id != 11) && (currentNode.agent.id != 16) && ((desktop == null) || (desktop.contype != 2))); // Clipboard not supported on macOS
7130 QE('DeskClip', deskState == 3);
7131 + QV('DeskClip', (inputAllowed) && (currentNode.agent) && (currentNode.agent.id != 11) && (currentNode.agent.id != 16) && ((desktop == null) || (desktop.contype != 2))); // Clipboard not supported on macOS
7132 QE('DeskESC', deskState == 3);
7133 + QV('DeskESC', browserfullscreen && inputAllowed);
7134 QE('DeskType', deskState == 3);
7138 - QV('DeskWD', inputAllowed);
7135 + QV('DeskType', inputAllowed);
7136 QE('DeskWD', deskState == 3);
7137 + QV('DeskWD', inputAllowed);
7138 QV('deskkeys', inputAllowed);
7139 + QV('DeskTimer', deskState == 3);
7140 +
7141 + // Enable browser clipboard read if supported
7142 + QV('DeskClipboardOutButton', inputAllowed && (navigator.clipboard != null) && (navigator.clipboard.readText != null));
7143 + QV('DeskClipboardInButton', inputAllowed && (navigator.clipboard != null) && (navigator.clipboard.writeText != null));
7144
7145 // Display this only if we have Chat & Notify permissions
7146 QV('DeskSaveImageButton', (deskState == 3) && (Q('Desk')['toBlob'] != null));
@@ -7146,9 +7149,10 @@
7149 QV('DeskNotifyButton', ((rights & 16384) != 0) && (browserfullscreen == false) && (currentNode.agent) && (currentNode.agent.id < 5) && (inputAllowed) && (currentNode.agent) && online);
7150 //QV('DeskLockButton', ((rights & 16384) != 0) && (browserfullscreen == false) && (currentNode.agent) && (currentNode.agent.id < 5) && (inputAllowed) && (currentNode.agent) && (deskState == 3));
7151 QV('DeskLockButton', false); // TODO: Work on adding remote desktop lock feature.
7149 - QV('DeskToolsButton', (inputAllowed) && (currentNode.agent) && online);
7152 + QV('DeskToolsButton', (deskState == 3) && (currentNode.agent) && online);
7153 + QE('DeskToolsButton', inputAllowed);
7154 QV('DeskOpenWebButton', (browserfullscreen == false) && (inputAllowed) && (currentNode.agent) && online);
7151 - QV('DeskBackgroundButton', (deskState == 3) && (desktop.contype == 1) && (currentNode.agent) && (currentNode.agent.id != 11) && (currentNode.agent.id != 16) && online);
7155 + QV('DeskBackgroundButton', inputAllowed && (deskState == 3) && (desktop.contype == 1) && (currentNode.agent) && (currentNode.agent.id != 11) && (currentNode.agent.id != 16) && online);
7156 QV('DeskControlSpan', inputAllowed)
7157 QV('DeskRefreshButton', (deskState == 3) && (desktop.contype == 1))
7158 QV('deskActionsSettings', (browserfullscreen == false));