Inno-Setup-issrc/Projects/Src/IDE.RegistryDesignerForm.pas

97 lines
2.7 KiB
ObjectPascal
Raw Permalink Normal View History

unit IDE.RegistryDesignerForm;
{
Inno Setup
Copyright (C) 1997-2024 Jordan Russell
Portions by Martijn Laan
For conditions of distribution and use, see LICENSE.TXT.
Registry Designer form
Originally contributed by leserg73
}
interface
uses
2024-04-10 21:40:53 +02:00
SysUtils, Classes,
Forms, Controls, StdCtrls, ExtCtrls,
IDE.Wizard.WizardFormRegistryHelper, NewStaticText;
type
TRegistryDesignerForm = class(TForm)
2024-04-10 18:07:01 +02:00
Panel1: TPanel;
Bevel1: TBevel;
2024-04-10 18:07:01 +02:00
InsertButton: TButton;
CancelButton: TButton;
AppRegistryFileLabel: TNewStaticText;
AppRegistryFileEdit: TEdit;
AppRegistryFileButton: TButton;
AppRegistrySettingsLabel: TNewStaticText;
2024-04-10 21:40:53 +02:00
AppRegistryUninsDeleteKeyCheck: TCheckBox;
AppRegistryUninsDeleteKeyIfEmptyCheck: TCheckBox;
2024-04-10 21:40:53 +02:00
AppRegistryUninsDeleteValueCheck: TCheckBox;
AppRegistryMinVerCheck: TCheckBox;
AppRegistryMinVerEdit: TEdit;
PrivilegesRequiredLabel: TNewStaticText;
AppRegistryMinVerDocImage: TImage;
2024-04-10 18:07:01 +02:00
procedure InsertButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
FRegistryHelper: TWizardFormRegistryHelper;
procedure SetPrivilegesRequired(const Value: TPrivilegesRequired);
function GetText: String;
public
property PrivilegesRequired: TPrivilegesRequired write SetPrivilegesRequired;
property Text: string read GetText;
end;
implementation
{$R *.dfm}
uses
IDE.HelperFunc;
procedure TRegistryDesignerForm.SetPrivilegesRequired(
const Value: TPrivilegesRequired);
begin
2024-04-10 21:40:53 +02:00
if Value = prAdmin then
PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequired=admin'
2024-04-10 21:40:53 +02:00
else if Value = prLowest then
PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequired=lowest'
else
PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequiredOverridesAllowed set';
2024-04-19 22:43:25 +02:00
FRegistryHelper.PrivilegesRequired := Value;
end;
2024-04-10 18:07:01 +02:00
procedure TRegistryDesignerForm.FormCreate(Sender: TObject);
begin
InitFormFont(Self);
2024-04-10 21:40:53 +02:00
FRegistryHelper := TWizardFormRegistryHelper.Create(Self, AppRegistryFileEdit,
AppRegistryFileButton, AppRegistryUninsDeleteKeyCheck,
AppRegistryUninsDeleteKeyIfEmptyCheck, AppRegistryUninsDeleteValueCheck,
AppRegistryMinVerCheck, AppRegistryMinVerEdit, AppRegistryMinVerDocImage);
2024-04-10 18:07:01 +02:00
end;
procedure TRegistryDesignerForm.FormDestroy(Sender: TObject);
begin
FRegistryHelper.Free;
end;
function TRegistryDesignerForm.GetText: String;
begin
2024-04-10 21:40:53 +02:00
Result := '';
2024-04-11 09:07:27 +02:00
FRegistryHelper.AddScript(Result, True);
end;
2024-04-10 18:07:01 +02:00
procedure TRegistryDesignerForm.InsertButtonClick(Sender: TObject);
begin
if not FileExists(AppRegistryFileEdit.Text) then
2024-04-02 17:35:54 +02:00
ModalResult := mrCancel;
end;
end.