Skip to content

Commit 58536db

Browse files
feat(webapp): allow dynamically adjust wheel_speed_factor for VNC and ARD sessions (#1369)
The wheel speed factor setting is moved to the toolbar. Co-authored-by: Benoît CORTIER <git.divisible626@passmail.com>
1 parent 917bb48 commit 58536db

18 files changed

Lines changed: 99 additions & 142 deletions

webapp/package-lock.json

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webapp/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
"@angular/platform-browser-dynamic": "18.2.1",
2929
"@angular/router": "18.2.1",
3030
"@devolutions/icons": "4.0.8",
31-
"@devolutions/iron-remote-desktop": "^0.2.0",
32-
"@devolutions/iron-remote-desktop-rdp": "^0.1.1",
33-
"@devolutions/iron-remote-desktop-vnc": "^0.2.1",
31+
"@devolutions/iron-remote-desktop": "^0.4.0",
32+
"@devolutions/iron-remote-desktop-rdp": "^0.2.0",
33+
"@devolutions/iron-remote-desktop-vnc": "^0.3.0",
3434
"@devolutions/web-ssh-gui": "0.3.1",
3535
"@devolutions/web-telnet-gui": "0.2.19",
3636
"primeflex": "3.3.1",

webapp/src/client/app/modules/web-client/ard/web-client-ard.component.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
[sessionContainerParent]="sessionContainerElement"
1212
[middleButtons]="middleToolbarButtons"
1313
[middleToggleButtons]="middleToolbarToggleButtons"
14-
[rightButtons]="rightToolbarButtons">
14+
[rightButtons]="rightToolbarButtons"
15+
[sliders]="sliders">
1516
</session-toolbar>
1617

1718
<div class="loading-info-container" *ngIf="loading">

webapp/src/client/app/modules/web-client/ard/web-client-ard.component.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,17 @@ export class WebClientArdComponent extends WebClientBaseComponent implements OnI
9797
},
9898
];
9999

100+
sliders = [
101+
{
102+
label: 'Wheel Speed',
103+
value: 1,
104+
onChange: (value: number) => this.setWheelSpeedFactor(value),
105+
min: 0.1,
106+
max: 3,
107+
step: 0.1,
108+
},
109+
];
110+
100111
protected removeElement = new Subject();
101112
private remoteClientEventListener: (event: Event) => void;
102113
private remoteClient: UserInteraction;
@@ -168,6 +179,10 @@ export class WebClientArdComponent extends WebClientBaseComponent implements OnI
168179
this.cursorOverrideActive = !this.cursorOverrideActive;
169180
}
170181

182+
setWheelSpeedFactor(factor: number): void {
183+
this.remoteClient.invokeExtension(wheelSpeedFactor(factor));
184+
}
185+
171186
removeWebClientGuiElement(): void {
172187
this.removeElement.pipe(takeUntil(this.destroyed$)).subscribe({
173188
next: (): void => {
@@ -331,8 +346,7 @@ export class WebClientArdComponent extends WebClientBaseComponent implements OnI
331346
.withPassword(connectionParameters.password)
332347
.withDestination(connectionParameters.host)
333348
.withProxyAddress(connectionParameters.gatewayAddress)
334-
.withAuthToken(connectionParameters.token)
335-
.withExtension(wheelSpeedFactor(connectionParameters.wheelSpeedFactor));
349+
.withAuthToken(connectionParameters.token);
336350

337351
if (connectionParameters.resolutionQuality != null) {
338352
configBuilder.withExtension(resolutionQuality(connectionParameters.resolutionQuality));

webapp/src/client/app/modules/web-client/form/form-components/ard/ard-form.component.html

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,6 @@
2828
[inputFormData]="inputFormData"></web-client-ard-quality-mode-control>
2929
</div>
3030

31-
<div class="col-12 gateway-form-group">
32-
<web-client-wheel-speed-factor-control [parentForm]="form"
33-
[inputFormData]="inputFormData"></web-client-wheel-speed-factor-control>
34-
</div>
35-
3631
</div>
3732

3833
</div>

webapp/src/client/app/modules/web-client/form/form-components/vnc/vnc-form.component.html

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@
4444
[inputFormData]="inputFormData"></web-client-enabled-encodings-control>
4545
</div>
4646

47-
<div class="col-12 gateway-form-group">
48-
<web-client-wheel-speed-factor-control [parentForm]="form"
49-
[inputFormData]="inputFormData"></web-client-wheel-speed-factor-control>
50-
</div>
51-
5247
<div class="col-12 gateway-form-group">
5348
<web-client-enable-cursor-control [parentForm]="form"
5449
[inputFormData]="inputFormData"></web-client-enable-cursor-control>

webapp/src/client/app/modules/web-client/form/form-controls/wheel-speed-factor-control/wheel-speed-factor-control.component.html

Lines changed: 0 additions & 13 deletions
This file was deleted.

webapp/src/client/app/modules/web-client/form/form-controls/wheel-speed-factor-control/wheel-speed-factor-control.component.scss

Lines changed: 0 additions & 40 deletions
This file was deleted.

webapp/src/client/app/modules/web-client/form/form-controls/wheel-speed-factor-control/wheel-speed-factor-control.component.ts

Lines changed: 0 additions & 29 deletions
This file was deleted.

webapp/src/client/app/modules/web-client/rdp/web-client-rdp.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,11 @@ export class WebClientRdpComponent extends WebClientBaseComponent implements OnI
113113
checkboxes = [
114114
{
115115
label: 'Unicode Keyboard Mode',
116-
action: () => {
116+
default: this.useUnicodeKeyboard,
117+
onChange: () => {
117118
this.useUnicodeKeyboard = !this.useUnicodeKeyboard;
118119
this.setKeyboardUnicodeMode(this.useUnicodeKeyboard);
119120
},
120-
isChecked: () => this.useUnicodeKeyboard,
121121
},
122122
];
123123

0 commit comments

Comments
 (0)