/components/lazsvnpkg/svncommitform.pas

http://github.com/graemeg/lazarus · Pascal · 87 lines · 58 code · 23 blank · 6 comment · 1 complexity · 5c69020b4bb0273a46f84116e974b6c0 MD5 · raw file

  1. unit SVNCommitForm;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  6. ButtonPanel, StdCtrls, Process, LCLProc;
  7. type
  8. { TSVNCommitFrm }
  9. TSVNCommitFrm = class(TForm)
  10. ButtonPanel: TButtonPanel;
  11. SVNCommitMemo: TMemo;
  12. procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
  13. procedure FormCreate(Sender: TObject);
  14. procedure FormDestroy(Sender: TObject);
  15. procedure FormShow(Sender: TObject);
  16. procedure OKButtonClick(Sender: TObject);
  17. private
  18. { private declarations }
  19. FSVNCommandLine: string;
  20. public
  21. { public declarations }
  22. procedure Execute({%H-}Data: PtrInt);
  23. property SVNCommandLine: string read FSVNCommandLine write FSVNCommandLine;
  24. end;
  25. procedure ShowSVNCommitFrm(ACmdLine: string);
  26. var
  27. SVNCommitFrm: TSVNCommitFrm;
  28. implementation
  29. {$R *.lfm}
  30. uses
  31. SVNClasses;
  32. procedure ShowSVNCommitFrm(ACmdLine: string);
  33. begin
  34. if not Assigned(SVNCommitFrm) then
  35. SVNCommitFrm := TSVNCommitFrm.Create(nil);
  36. SVNCommitFrm.SVNCommandLine:=ACmdLine;
  37. SVNCommitFrm.ShowModal;
  38. end;
  39. { TSVNCommitFrm }
  40. procedure TSVNCommitFrm.FormShow(Sender: TObject);
  41. begin
  42. Application.QueueAsyncCall(@Execute, 0);
  43. end;
  44. procedure TSVNCommitFrm.OKButtonClick(Sender: TObject);
  45. begin
  46. Close;
  47. end;
  48. procedure TSVNCommitFrm.Execute(Data: PtrInt);
  49. begin
  50. CmdLineToMemo(SVNCommandLine, SVNCommitMemo);
  51. end;
  52. procedure TSVNCommitFrm.FormCreate(Sender: TObject);
  53. begin
  54. Caption := rsLazarusSVNCommit;
  55. end;
  56. procedure TSVNCommitFrm.FormDestroy(Sender: TObject);
  57. begin
  58. SVNCommitFrm := nil;
  59. end;
  60. procedure TSVNCommitFrm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
  61. begin
  62. CloseAction := caFree;
  63. end;
  64. end.