FormRemoteExplor.pas 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. unit FormRemoteExplor;
  2. {$mode objfpc}{$H+}
  3. interface
  4. uses
  5. Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls,
  6. FrameExpRemoto, strutils, FormRemoteEditor, FrameTabSession, MisUtils;
  7. type
  8. { TfrmRemoteExplor }
  9. TfrmRemoteExplor = class(TForm)
  10. procedure explorDblClickArch;
  11. procedure explorEnter(Sender: TObject);
  12. procedure FormActivate(Sender: TObject);
  13. procedure FormCreate(Sender: TObject);
  14. procedure FormDestroy(Sender: TObject);
  15. procedure FormShow(Sender: TObject);
  16. private
  17. ses: TfraTabSession;
  18. explor: TfraExpRemoto;
  19. actualizar: boolean;
  20. public
  21. procedure Init(ses0: TfraTabSession);
  22. end;
  23. var
  24. frmRemoteExplor: TfrmRemoteExplor;
  25. implementation
  26. {$R *.lfm}
  27. { TfrmRemoteExplor }
  28. procedure TfrmRemoteExplor.FormCreate(Sender: TObject);
  29. begin
  30. explor:= TfraExpRemoto.Create(self);
  31. explor.Parent := self;
  32. explor.Align:=alClient;
  33. explor.OnDblClickArch:=@explorDblClickArch;
  34. // explor.OnEnter:=@explorEnter;
  35. end;
  36. procedure TfrmRemoteExplor.FormDestroy(Sender: TObject);
  37. begin
  38. explor.Destroy;
  39. end;
  40. procedure TfrmRemoteExplor.FormShow(Sender: TObject);
  41. begin
  42. Caption:= 'Remote Explorer';
  43. actualizar := true;
  44. end;
  45. procedure TfrmRemoteExplor.explorEnter(Sender: TObject);
  46. begin
  47. msgbox('Enter');
  48. end;
  49. procedure TfrmRemoteExplor.explorDblClickArch;
  50. var
  51. it: TListItem;
  52. begin
  53. it := explor.ItemSeleccionado;
  54. if it = nil then exit;
  55. if AnsiEndsText('.txt',it.Caption)
  56. or AnsiEndsText('.sql',it.Caption)
  57. or AnsiEndsText('.sh',it.Caption)
  58. or AnsiEndsText('.py',it.Caption)
  59. or AnsiEndsText('.pas',it.Caption)
  60. then
  61. begin
  62. //Los tipos conocidos, se editan.
  63. //Se abre el editor en el modo definido en la sesión.
  64. frmRemoteEditor.Init(ses);
  65. frmRemoteEditor.Open(it.Caption);
  66. end;
  67. end;
  68. procedure TfrmRemoteExplor.FormActivate(Sender: TObject);
  69. begin
  70. if actualizar then begin
  71. explor.Actualizar; //lee archivos
  72. actualizar := false;
  73. end;
  74. end;
  75. procedure TfrmRemoteExplor.Init(ses0: TfraTabSession);
  76. begin
  77. ses := ses0;
  78. end;
  79. end.