1
0

FileSystemInfo.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. #include <System.Actions.hpp>
  11. #include <Vcl.ActnList.hpp>
  12. #include <Vcl.StdActns.hpp>
  13. //----------------------------------------------------------------------------
  14. #include <GUITools.h>
  15. //----------------------------------------------------------------------------
  16. typedef void __fastcall (__closure *TFeedFileSystemData)
  17. (TControl * Control, int Label, UnicodeString Value);
  18. //----------------------------------------------------------------------------
  19. class TFileSystemInfoDialog : public TForm
  20. {
  21. __published:
  22. TButton *CloseButton;
  23. TButton *HelpButton;
  24. TPageControl *PageControl;
  25. TTabSheet *ProtocolSheet;
  26. TGroupBox *HostKeyGroup;
  27. TEdit *HostKeyFingerprintSHA256Edit;
  28. TTabSheet *CapabilitiesSheet;
  29. TGroupBox *InfoGroup;
  30. TMemo *InfoMemo;
  31. TListView *ServerView;
  32. TListView *ProtocolView;
  33. TButton *ClipboardButton;
  34. TPopupMenu *ListViewMenu;
  35. TMenuItem *Copy;
  36. TTabSheet *SpaceAvailableSheet;
  37. TListView *SpaceAvailableView;
  38. TLabel *Label1;
  39. TEdit *SpaceAvailablePathEdit;
  40. TButton *SpaceAvailableButton;
  41. TGroupBox *CertificateGroup;
  42. TEdit *CertificateFingerprintSha256Edit;
  43. TButton *CertificateViewButton;
  44. TLabel *Label2;
  45. TEdit *HostKeyAlgorithmEdit;
  46. TLabel *Label3;
  47. TLabel *Label4;
  48. TEdit *HostKeyFingerprintMD5Edit;
  49. TPopupMenu *FingerprintPopupMenu;
  50. TActionList *FingerprintActionList;
  51. TEditCopy *EditCopyAction;
  52. TEditSelectAll *EditSelectAllAction;
  53. TMenuItem *Copy1;
  54. TLabel *Label5;
  55. TEdit *CertificateFingerprintSha1Edit;
  56. TLabel *Label6;
  57. void __fastcall HelpButtonClick(TObject *Sender);
  58. void __fastcall ClipboardButtonClick(TObject *Sender);
  59. void __fastcall CopyClick(TObject *Sender);
  60. void __fastcall FormShow(TObject *Sender);
  61. void __fastcall SpaceAvailableButtonClick(TObject *Sender);
  62. void __fastcall PageControlChange(TObject *Sender);
  63. void __fastcall ControlChange(TObject *Sender);
  64. void __fastcall SpaceAvailablePathEditEnter(TObject *Sender);
  65. void __fastcall SpaceAvailablePathEditExit(TObject *Sender);
  66. void __fastcall ControlContextPopup(TObject *Sender, TPoint &MousePos,
  67. bool &Handled);
  68. void __fastcall CertificateViewButtonClick(TObject *Sender);
  69. void __fastcall SpaceAvailableViewCustomDrawItem(TCustomListView *Sender, TListItem *Item,
  70. TCustomDrawState State, bool &DefaultDraw);
  71. void __fastcall EditCopyActionExecute(TObject *Sender);
  72. void __fastcall HostKeyFingerprintSHA256EditContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled);
  73. void __fastcall EditCopyActionUpdate(TObject *Sender);
  74. public:
  75. virtual __fastcall TFileSystemInfoDialog(TComponent * AOwner,
  76. TGetSpaceAvailable OnGetSpaceAvailable);
  77. void __fastcall Execute(const TSessionInfo & SessionInfo,
  78. const TFileSystemInfo & FileSystemInfo, UnicodeString SpaceAvailablePath);
  79. private:
  80. TControl * FLastFeededControl;
  81. UnicodeString FClipboard;
  82. TGetSpaceAvailable FOnGetSpaceAvailable;
  83. bool FSpaceAvailableLoaded;
  84. TSpaceAvailable FSpaceAvailable;
  85. int FLastListItem;
  86. TSessionInfo FSessionInfo;
  87. TFileSystemInfo FFileSystemInfo;
  88. void __fastcall Feed(TFeedFileSystemData AddItem);
  89. void __fastcall UpdateControls();
  90. UnicodeString __fastcall CapabilityStr(TFSCapability Capability);
  91. UnicodeString __fastcall CapabilityStr(TFSCapability Capability1,
  92. TFSCapability Capability2);
  93. UnicodeString __fastcall SpaceStr(__int64 Bytes);
  94. void __fastcall ControlsAddItem(TControl * Control, int Label, UnicodeString Value);
  95. void __fastcall ClipboardAddItem(TControl * Control, int Label, UnicodeString Value);
  96. void __fastcall CheckSpaceAvailable();
  97. void __fastcall NeedSpaceAvailable();
  98. bool __fastcall SpaceAvailableSupported();
  99. void __fastcall FeedControls();
  100. INTERFACE_HOOK;
  101. };
  102. //----------------------------------------------------------------------------
  103. #endif