66; This Inno Setup installer provides a comprehensive solution for setting
77; up TermWrap on Windows systems, enabling multiple concurrent
88; Remote Desktop sessions on non-Server editions of Windows.
9+
910;
1011; KEY FEATURES:
1112; - Automatic installation of TermWrap (llccd)
138139 chkCreateRdpShortcuts: TCheckBox;
139140 rbCreateUsers: TRadioButton;
140141 rbUseExistingUsers: TRadioButton;
142+ chkInstallTermWrapHint: TLabel;
141143 rbUseExistingUsersHint: TLabel;
142144 InstallOptionsAutoUserSourceApplied: Boolean;
143145 rbEditShortcutSettings: TRadioButton;
@@ -2530,6 +2532,14 @@ begin
25302532 end ;
25312533end ;
25322534
2535+ procedure SyncSetupOptionHintStates ();
2536+ begin
2537+ if Assigned(chkInstallTermWrapHint) and Assigned(chkInstallTermWrap) then
2538+ chkInstallTermWrapHint.Enabled := chkInstallTermWrap.Enabled;
2539+ if Assigned(rbUseExistingUsersHint) and Assigned(rbUseExistingUsers) then
2540+ rbUseExistingUsersHint.Enabled := rbUseExistingUsers.Enabled;
2541+ end ;
2542+
25332543procedure OnCreateRdpShortcutsClick (Sender: TObject);
25342544begin
25352545 if Assigned(rbCreateUsers) then
@@ -2545,6 +2555,7 @@ begin
25452555 else
25462556 CreateUserMode := createUserModeExisting;
25472557 end ;
2558+ SyncSetupOptionHintStates();
25482559end ;
25492560
25502561 procedure OnInstallModeChange (Sender: TObject);
@@ -2555,6 +2566,7 @@ begin
25552566 if Assigned(CreateRdpShortcutsGroup) then CreateRdpShortcutsGroup.Enabled := Assigned(rbInstall) and rbInstall.Checked;
25562567 if Assigned(rbCreateUsers) then rbCreateUsers.Enabled := Assigned(rbInstall) and rbInstall.Checked and chkCreateRdpShortcuts.Checked;
25572568 if Assigned(rbUseExistingUsers) then rbUseExistingUsers.Enabled := Assigned(rbInstall) and rbInstall.Checked and chkCreateRdpShortcuts.Checked;
2569+ SyncSetupOptionHintStates();
25582570end ;
25592571
25602572procedure OnUseAllMonitorsClick (Sender: TObject);
@@ -4139,23 +4151,36 @@ end;
41394151procedure BuildShortcutSettingsBlock (ParentSurface: TWinControl; StartTop: Integer);
41404152var
41414153 TmpLabel: TLabel;
4142- begin
4143-
4144- // Current file context (used by Edit Shortcut flow)
4154+ lblHint: TLabel;
4155+ begin
4156+
4157+ // Hint label — bold green guidance text
4158+ lblHint := TLabel.Create(ParentSurface);
4159+ lblHint.Parent := ParentSurface;
4160+ lblHint.Left := ScaleX(10 );
4161+ lblHint.Top := StartTop;
4162+ lblHint.Caption := ' If you dont know what to choose here, just click [Next]' ;
4163+ lblHint.ParentFont := False;
4164+ lblHint.StyleElements := lblHint.StyleElements - [seFont];
4165+ lblHint.Font.Style := [fsBold];
4166+ lblHint.Font.Color := RGBToColor(0 , 200 , 0 );
4167+ lblHint.AutoSize := True;
4168+
4169+ // Keep this placeholder label for spacing only.
41454170 lblShortcutEditingFile := TLabel.Create(ParentSurface);
41464171 lblShortcutEditingFile.Parent := ParentSurface;
41474172 lblShortcutEditingFile.Left := ScaleX(10 );
4148- lblShortcutEditingFile.Top := StartTop;
4149- lblShortcutEditingFile.Caption := ' Editing: ' ;
4150- lblShortcutEditingFile.Font.Style := [fsBold] ;
4173+ lblShortcutEditingFile.Top := StartTop + ScaleY( 20 ) ;
4174+ lblShortcutEditingFile.Caption := ' ' ;
4175+ lblShortcutEditingFile.Visible := False ;
41514176 lblShortcutEditingFile.AutoSize := True;
41524177
41534178 // Section separator label
41544179 lblShortcutSection := TLabel.Create(ParentSurface);
41554180 lblShortcutSection.Parent := ParentSurface;
41564181 lblShortcutSection.Left := ScaleX(10 );
41574182 lblShortcutSection.Top := lblShortcutEditingFile.Top + ScaleY(22 );
4158- lblShortcutSection.Caption := ' Basic Shortcut Settings' ;
4183+ lblShortcutSection.Caption := ' Basic Shortcut Settings (editing: <>) ' ;
41594184 lblShortcutSection.Font.Style := [fsBold];
41604185 lblShortcutSection.AutoSize := True;
41614186
@@ -4346,7 +4371,7 @@ begin
43464371 chkShowMoreShortcutOptions := TCheckBox.Create(ParentSurface);
43474372 chkShowMoreShortcutOptions.Parent := ParentSurface;
43484373 chkShowMoreShortcutOptions.Left := ScaleX(260 );
4349- chkShowMoreShortcutOptions.Top := lblShortcutTips.Top + ScaleY(26 );
4374+ chkShowMoreShortcutOptions.Top := lblShortcutTips.Top + ScaleY(21 );
43504375 chkShowMoreShortcutOptions.Width := ScaleX(260 );
43514376 chkShowMoreShortcutOptions.Caption := ' Open advanced shortcut options (Next page)' ;
43524377 chkShowMoreShortcutOptions.Checked := False;
@@ -4478,7 +4503,6 @@ var
44784503 TermWrapAlreadyInstalled: Boolean;
44794504 InstallHintOffset: Integer;
44804505 childIndent, childLeft, valueLeft: Integer;
4481- chkInstallTermWrapHint: TLabel;
44824506 WelcomeExpLabel: TLabel;
44834507 WelcomeIcon: TBitmapImage;
44844508 // Credits labels (non-selectable) and link labels
@@ -4705,6 +4729,7 @@ begin
47054729 // Set initial enabled state based on Create RDP shortcuts checkbox
47064730 rbCreateUsers.Enabled := chkCreateRdpShortcuts.Checked;
47074731 rbUseExistingUsers.Enabled := chkCreateRdpShortcuts.Checked;
4732+ SyncSetupOptionHintStates();
47084733
47094734
47104735
@@ -4941,7 +4966,7 @@ begin
49414966 Page_ShortcutSettings := CreateCustomPage(
49424967 UserPage.ID,
49434968 ' Shortcut Settings' ,
4944- ' Configure the settings for your RDP desktop shortcuts. If unsure, just click [Next] '
4969+ ' Configure the settings for your RDP desktop shortcuts.'
49454970 );
49464971 BuildShortcutSettingsBlock(Page_ShortcutSettings.Surface, ScaleY(10 ));
49474972
@@ -6479,12 +6504,12 @@ begin
64796504
64806505 if SelectedInstallMode = installModeEditShortcuts then
64816506 begin
6482- if Assigned(lblShortcutEditingFile ) then
6507+ if Assigned(lblShortcutSection ) then
64836508 begin
64846509 if SelectedShortcutPath <> ' ' then
6485- lblShortcutEditingFile .Caption := ' Editing: ' + ExtractFileName(SelectedShortcutPath)
6510+ lblShortcutSection .Caption := ' Basic Shortcut Settings (editing: ' + ExtractFileName(SelectedShortcutPath) + ' ) '
64866511 else
6487- lblShortcutEditingFile .Caption := ' Editing: ' ;
6512+ lblShortcutSection .Caption := ' Basic Shortcut Settings (editing: <>) ' ;
64886513 end ;
64896514 // EditShortcuts path: hide multi-note and tips, show "more options" checkbox
64906515 if Assigned(lblMultiShortcutEditingNote) then lblMultiShortcutEditingNote.Visible := False;
@@ -6496,8 +6521,8 @@ begin
64966521 end
64976522 else if (SelectedInstallMode = installModeInstall) and (CreateUserMode = createUserModeNew) then
64986523 begin
6499- if Assigned(lblShortcutEditingFile ) then
6500- lblShortcutEditingFile .Caption := ' Editing: New shortcut(s)' ;
6524+ if Assigned(lblShortcutSection ) then
6525+ lblShortcutSection .Caption := ' Basic Shortcut Settings (editing: New shortcut(s) )' ;
65016526 // CreateUsers path: show tips, show multi-note only when 2+ users queued
65026527 if Assigned(chkShowMoreShortcutOptions) then chkShowMoreShortcutOptions.Visible := False;
65036528 if Assigned(lblShortcutTips) then lblShortcutTips.Visible := True;
@@ -6514,8 +6539,8 @@ begin
65146539 end
65156540 else
65166541 begin
6517- if Assigned(lblShortcutEditingFile ) then
6518- lblShortcutEditingFile .Caption := ' Editing: Selected shortcut(s)' ;
6542+ if Assigned(lblShortcutSection ) then
6543+ lblShortcutSection .Caption := ' Basic Shortcut Settings (editing: Selected shortcut(s) )' ;
65196544 // ExistingUsers path: hide tips, show multi-note only when 2+ shortcuts selected
65206545 if Assigned(chkShowMoreShortcutOptions) then chkShowMoreShortcutOptions.Visible := False;
65216546 if Assigned(lblShortcutTips) then lblShortcutTips.Visible := False;
0 commit comments