FileSystemInfo.h 3.4 KB

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