FileSystemInfo.h 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //----------------------------------------------------------------------------
  2. #ifndef FileSystemInfoH
  3. #define FileSystemInfoH
  4. //----------------------------------------------------------------------------
  5. #include <vcl\System.hpp>
  6. #include <vcl\Windows.hpp>
  7. #include <vcl\SysUtils.hpp>
  8. #include <vcl\Classes.hpp>
  9. #include <vcl\Graphics.hpp>
  10. #include <vcl\StdCtrls.hpp>
  11. #include <vcl\Forms.hpp>
  12. #include <vcl\Controls.hpp>
  13. #include <vcl\Buttons.hpp>
  14. #include <vcl\ExtCtrls.hpp>
  15. #include <ComCtrls.hpp>
  16. #include <Menus.hpp>
  17. //----------------------------------------------------------------------------
  18. typedef void __fastcall (__closure *TFeedFileSystemData)
  19. (TControl * Control, int Label, AnsiString Value);
  20. //----------------------------------------------------------------------------
  21. class TFileSystemInfoDialog : public TForm
  22. {
  23. __published:
  24. TButton *CloseButton;
  25. TButton *HelpButton;
  26. TPageControl *PageControl;
  27. TTabSheet *ProtocolSheet;
  28. TGroupBox *HostKeyGroup;
  29. TEdit *HostKeyFingerprintEdit;
  30. TTabSheet *CapabilitiesSheet;
  31. TGroupBox *InfoGroup;
  32. TMemo *InfoMemo;
  33. TListView *ServerView;
  34. TListView *ProtocolView;
  35. TButton *ClipboardButton;
  36. TPopupMenu *ListViewMenu;
  37. TMenuItem *Copy;
  38. TTabSheet *SpaceAvailableSheet;
  39. TListView *SpaceAvailableView;
  40. TLabel *Label1;
  41. TEdit *SpaceAvailablePathEdit;
  42. TButton *SpaceAvailableButton;
  43. TGroupBox *CertificateGroup;
  44. TEdit *CertificateFingerprintEdit;
  45. TButton *CertificateViewButton;
  46. void __fastcall HelpButtonClick(TObject *Sender);
  47. void __fastcall ClipboardButtonClick(TObject *Sender);
  48. void __fastcall CopyClick(TObject *Sender);
  49. void __fastcall FormShow(TObject *Sender);
  50. void __fastcall SpaceAvailableButtonClick(TObject *Sender);
  51. void __fastcall PageControlChange(TObject *Sender);
  52. void __fastcall ControlChange(TObject *Sender);
  53. void __fastcall SpaceAvailablePathEditEnter(TObject *Sender);
  54. void __fastcall SpaceAvailablePathEditExit(TObject *Sender);
  55. void __fastcall ControlContextPopup(TObject *Sender, TPoint &MousePos,
  56. bool &Handled);
  57. void __fastcall CertificateViewButtonClick(TObject *Sender);
  58. public:
  59. virtual __fastcall TFileSystemInfoDialog(TComponent * AOwner,
  60. TGetSpaceAvailable OnGetSpaceAvailable);
  61. void __fastcall Execute(const TSessionInfo & SessionInfo,
  62. const TFileSystemInfo & FileSystemInfo, AnsiString SpaceAvailablePath);
  63. private:
  64. TControl * FLastFeededControl;
  65. AnsiString FClipboard;
  66. TGetSpaceAvailable FOnGetSpaceAvailable;
  67. bool FSpaceAvailableLoaded;
  68. TSpaceAvailable FSpaceAvailable;
  69. int FLastListItem;
  70. TSessionInfo FSessionInfo;
  71. TFileSystemInfo FFileSystemInfo;
  72. void __fastcall Feed(TFeedFileSystemData AddItem);
  73. void __fastcall UpdateControls();
  74. AnsiString __fastcall CapabilityStr(TFSCapability Capability);
  75. AnsiString __fastcall CapabilityStr(TFSCapability Capability1,
  76. TFSCapability Capability2);
  77. AnsiString __fastcall SpaceStr(__int64 Bytes);
  78. void __fastcall ControlsAddItem(TControl * Control, int Label, AnsiString Value);
  79. void __fastcall ClipboardAddItem(TControl * Control, int Label, AnsiString Value);
  80. void __fastcall CheckSpaceAvailable();
  81. void __fastcall NeedSpaceAvailable();
  82. bool __fastcall SpaceAvailableSupported();
  83. void __fastcall FeedControls();
  84. };
  85. //----------------------------------------------------------------------------
  86. #endif