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>
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));