FileFind.h 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. //---------------------------------------------------------------------------
  2. #ifndef FileFindH
  3. #define FileFindH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <HistoryComboBox.hpp>
  10. #include <WinInterface.h>
  11. #include <GUITools.h>
  12. #include <ComCtrls.hpp>
  13. #include <ExtCtrls.hpp>
  14. #include "IEListView.hpp"
  15. #include "NortonLikeListView.hpp"
  16. #include <Vcl.Imaging.pngimage.hpp>
  17. #include <Vcl.ImgList.hpp>
  18. #include "PngImageList.hpp"
  19. //---------------------------------------------------------------------------
  20. class TFileFindDialog : public TForm
  21. {
  22. __published:
  23. TGroupBox *FilterGroup;
  24. TButton *CancelButton;
  25. TLabel *MaskLabel;
  26. TLabel *RemoteDirectoryLabel;
  27. THistoryComboBox *RemoteDirectoryEdit;
  28. THistoryComboBox *MaskEdit;
  29. TButton *StartStopButton;
  30. TButton *HelpButton;
  31. TIEListView *FileView;
  32. TStatusBar *StatusBar;
  33. TButton *FocusButton;
  34. TButton *MinimizeButton;
  35. TStaticText *MaskHintText;
  36. TButton *MaskButton;
  37. TPaintBox *AnimationPaintBox;
  38. TButton *CopyButton;
  39. void __fastcall ControlChange(TObject *Sender);
  40. void __fastcall StartStopButtonClick(TObject *Sender);
  41. void __fastcall StopButtonClick(TObject *Sender);
  42. void __fastcall MinimizeButtonClick(TObject *Sender);
  43. void __fastcall FormShow(TObject *Sender);
  44. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  45. void __fastcall HelpButtonClick(TObject *Sender);
  46. void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
  47. TShiftState Shift);
  48. void __fastcall MaskEditExit(TObject *Sender);
  49. void __fastcall FileViewDblClick(TObject *Sender);
  50. void __fastcall FocusButtonClick(TObject *Sender);
  51. void __fastcall FileViewSelectItem(TObject *Sender, TListItem *Item,
  52. bool Selected);
  53. void __fastcall MaskButtonClick(TObject *Sender);
  54. void __fastcall CopyButtonClick(TObject *Sender);
  55. public:
  56. __fastcall TFileFindDialog(TComponent * Owner, TFindEvent OnFind);
  57. virtual __fastcall ~TFileFindDialog();
  58. bool __fastcall Execute(UnicodeString Directory, UnicodeString & Path);
  59. protected:
  60. void __fastcall Clear();
  61. void __fastcall Start();
  62. void __fastcall Stop();
  63. bool __fastcall StopIfFinding();
  64. void __fastcall GlobalMinimize(TObject * Sender);
  65. void __fastcall UpdateControls();
  66. bool __fastcall IsFinding();
  67. private:
  68. enum { ffInit, ffFinding, ffAborting, ffAborted, ffDone } FState;
  69. bool FMinimizedByMe;
  70. UnicodeString FFindingInDirectory;
  71. UnicodeString FDirectory;
  72. TFindEvent FOnFind;
  73. TImageList * FSystemImageList;
  74. TFrameAnimation FFrameAnimation;
  75. void __fastcall FileFound(TTerminal * Terminal,
  76. const UnicodeString FileName, const TRemoteFile * File, bool & Cancel);
  77. void __fastcall FindingFile(TTerminal * Terminal, const UnicodeString Directory,
  78. bool & Cancel);
  79. void __fastcall CopyToClipboard();
  80. };
  81. //---------------------------------------------------------------------------
  82. #endif