IDE.RegistryDesignerForm.pas 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. unit IDE.RegistryDesignerForm;
  2. {
  3. Inno Setup
  4. Copyright (C) 1997-2024 Jordan Russell
  5. Portions by Martijn Laan
  6. For conditions of distribution and use, see LICENSE.TXT.
  7. Registry Designer form
  8. Originally contributed by leserg73
  9. }
  10. interface
  11. uses
  12. SysUtils, Classes,
  13. Forms, Controls, StdCtrls, ExtCtrls,
  14. IDE.Wizard.WizardFormRegistryHelper, NewStaticText;
  15. type
  16. TRegistryDesignerForm = class(TForm)
  17. Panel1: TPanel;
  18. Bevel1: TBevel;
  19. InsertButton: TButton;
  20. CancelButton: TButton;
  21. AppRegistryFileLabel: TNewStaticText;
  22. AppRegistryFileEdit: TEdit;
  23. AppRegistryFileButton: TButton;
  24. AppRegistrySettingsLabel: TNewStaticText;
  25. AppRegistryUninsDeleteKeyCheck: TCheckBox;
  26. AppRegistryUninsDeleteKeyIfEmptyCheck: TCheckBox;
  27. AppRegistryUninsDeleteValueCheck: TCheckBox;
  28. AppRegistryMinVerCheck: TCheckBox;
  29. AppRegistryMinVerEdit: TEdit;
  30. PrivilegesRequiredLabel: TNewStaticText;
  31. AppRegistryMinVerDocImage: TImage;
  32. procedure InsertButtonClick(Sender: TObject);
  33. procedure FormCreate(Sender: TObject);
  34. procedure FormDestroy(Sender: TObject);
  35. private
  36. FRegistryHelper: TWizardFormRegistryHelper;
  37. procedure SetPrivilegesRequired(const Value: TPrivilegesRequired);
  38. function GetText: String;
  39. public
  40. property PrivilegesRequired: TPrivilegesRequired write SetPrivilegesRequired;
  41. property Text: string read GetText;
  42. end;
  43. implementation
  44. {$R *.dfm}
  45. uses
  46. IDE.HelperFunc;
  47. procedure TRegistryDesignerForm.SetPrivilegesRequired(
  48. const Value: TPrivilegesRequired);
  49. begin
  50. if Value = prAdmin then
  51. PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequired=admin'
  52. else if Value = prLowest then
  53. PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequired=lowest'
  54. else
  55. PrivilegesRequiredLabel.Caption := 'Script has PrivilegesRequiredOverridesAllowed set';
  56. FRegistryHelper.PrivilegesRequired := Value;
  57. end;
  58. procedure TRegistryDesignerForm.FormCreate(Sender: TObject);
  59. begin
  60. InitFormFont(Self);
  61. FRegistryHelper := TWizardFormRegistryHelper.Create(Self, AppRegistryFileEdit,
  62. AppRegistryFileButton, AppRegistryUninsDeleteKeyCheck,
  63. AppRegistryUninsDeleteKeyIfEmptyCheck, AppRegistryUninsDeleteValueCheck,
  64. AppRegistryMinVerCheck, AppRegistryMinVerEdit, AppRegistryMinVerDocImage);
  65. end;
  66. procedure TRegistryDesignerForm.FormDestroy(Sender: TObject);
  67. begin
  68. FRegistryHelper.Free;
  69. end;
  70. function TRegistryDesignerForm.GetText: String;
  71. begin
  72. Result := '';
  73. FRegistryHelper.AddScript(Result, True);
  74. end;
  75. procedure TRegistryDesignerForm.InsertButtonClick(Sender: TObject);
  76. begin
  77. if not FileExists(AppRegistryFileEdit.Text) then
  78. ModalResult := mrCancel;
  79. end;
  80. end.