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

97 lines
2.7 KiB
ObjectPascal

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
SysUtils, Classes,
Forms, Controls, StdCtrls, ExtCtrls,
IDE.Wizard.WizardFormRegistryHelper, NewStaticText;
type
TRegistryDesignerForm = class(TForm)
Panel1: TPanel;
Bevel1: TBevel;
InsertButton: TButton;
CancelButton: TButton;
AppRegistryFileLabel: TNewStaticText;
AppRegistryFileEdit: TEdit;
AppRegistryFileButton: TButton;
AppRegistrySettingsLabel: TNewStaticText;
AppRegistryUninsDeleteKeyCheck: TCheckBox;
AppRegistryUninsDeleteKeyIfEmptyCheck: TCheckBox;
AppRegistryUninsDeleteValueCheck: TCheckBox;
AppRegistryMinVerCheck: TCheckBox;
AppRegistryMinVerEdit: TEdit;
PrivilegesRequiredLabel: TNewStaticText;
AppRegistryMinVerDocImage: TImage;
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
if Value = prAdmin then
PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequired=admin'
else if Value = prLowest then
PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequired=lowest'
else
PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequiredOverridesAllowed set';
FRegistryHelper.PrivilegesRequired := Value;
end;
procedure TRegistryDesignerForm.FormCreate(Sender: TObject);
begin
InitFormFont(Self);
FRegistryHelper := TWizardFormRegistryHelper.Create(Self, AppRegistryFileEdit,
AppRegistryFileButton, AppRegistryUninsDeleteKeyCheck,
AppRegistryUninsDeleteKeyIfEmptyCheck, AppRegistryUninsDeleteValueCheck,
AppRegistryMinVerCheck, AppRegistryMinVerEdit, AppRegistryMinVerDocImage);
end;
procedure TRegistryDesignerForm.FormDestroy(Sender: TObject);
begin
FRegistryHelper.Free;
end;
function TRegistryDesignerForm.GetText: String;
begin
Result := '';
FRegistryHelper.AddScript(Result, True);
end;
procedure TRegistryDesignerForm.InsertButtonClick(Sender: TObject);
begin
if not FileExists(AppRegistryFileEdit.Text) then
ModalResult := mrCancel;
end;
end.