isdonateandmail.iss 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // -- IsDonateAndMail.iss --
  2. // Include file which adds donate and subscribe buttons to Setup
  3. //
  4. [Files]
  5. Source: "{#__DIR__}\isdonate.bmp"; Flags: dontcopy noencryption
  6. Source: "{#__DIR__}\isdonate_dark.bmp"; Flags: dontcopy noencryption
  7. Source: "{#__DIR__}\ismail.bmp"; Flags: dontcopy noencryption
  8. Source: "{#__DIR__}\ismail_dark.bmp"; Flags: dontcopy noencryption
  9. [CustomMessages]
  10. ; No need to localize: The IS website is in English only
  11. IsDonateAndMailDonateCaption=Donate
  12. IsDonateAndMailDonateHint=Support Inno Setup - Thank you!
  13. IsDonateAndMailMailCaption=Subscribe
  14. IsDonateAndMailMailHint=Be notified by e-mail of new Inno Setup releases
  15. [Code]
  16. procedure DonateBitmapButtonOnClick(Sender: TObject);
  17. var
  18. ErrorCode: Integer;
  19. begin
  20. ShellExecAsOriginalUser('open', 'https://jrsoftware.org/isdonate.php', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
  21. end;
  22. procedure MailBitmapButtonOnClick(Sender: TObject);
  23. var
  24. ErrorCode: Integer;
  25. begin
  26. ShellExecAsOriginalUser('open', 'https://jrsoftware.org/ismail.php', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
  27. end;
  28. <event('InitializeWizard')>
  29. procedure IsDonateAndMailInitializeWizard;
  30. var
  31. ImageFileName, ImageFileNamePostfix: String;
  32. DonateBitmapButton, MailBitmapButton: TBitmapButton;
  33. BevelTop: Integer;
  34. begin
  35. if WizardSilent then
  36. Exit;
  37. if IsDarkInstallMode then
  38. ImageFileNamePostfix := '_dark'
  39. else
  40. ImageFileNamePostfix := '';
  41. ImageFileName := ExpandConstant(Format('{tmp}\isdonate%s.bmp', [ImageFileNamePostfix]));
  42. ExtractTemporaryFile(ExtractFileName(ImageFileName));
  43. DonateBitmapButton := TBitmapButton.Create(WizardForm);
  44. DonateBitmapButton.AutoSize := True;
  45. DonateBitmapButton.Bitmap.LoadFromFile(ImageFileName);
  46. DonateBitmapButton.Caption := CustomMessage('IsDonateAndMailDonateCaption');
  47. DonateBitmapButton.Hint := CustomMessage('IsDonateAndMailDonateHint');
  48. DonateBitmapButton.ShowHint := True;
  49. BevelTop := WizardForm.Bevel.Top;
  50. DonateBitmapButton.Top := BevelTop + (WizardForm.ClientHeight - BevelTop - DonateBitmapButton.Height) div 2;
  51. DonateBitmapButton.Left := DonateBitmapButton.Top - BevelTop;
  52. DonateBitmapButton.Cursor := crHand;
  53. DonateBitmapButton.OnClick := @DonateBitmapButtonOnClick;
  54. DonateBitmapButton.Parent := WizardForm;
  55. ImageFileName := ExpandConstant(Format('{tmp}\ismail%s.bmp', [ImageFileNamePostfix]));
  56. ExtractTemporaryFile(ExtractFileName(ImageFileName));
  57. MailBitmapButton := TBitmapButton.Create(WizardForm);
  58. MailBitmapButton.AutoSize := True;
  59. MailBitmapButton.Bitmap.LoadFromFile(ImageFileName);
  60. MailBitmapButton.Caption := CustomMessage('IsDonateAndMailMailCaption');
  61. MailBitmapButton.Hint := CustomMessage('IsDonateAndMailMailHint');
  62. MailBitmapButton.ShowHint := True;
  63. MailBitmapButton.Top := DonateBitmapButton.Top
  64. MailBitmapButton.Left := DonateBitmapButton.Left + DonateBitmapButton.Width + ScaleX(4);
  65. MailBitmapButton.Cursor := crHand;
  66. MailBitmapButton.OnClick := @MailBitmapButtonOnClick;
  67. MailBitmapButton.Parent := WizardForm;
  68. end;