OpenDirectory.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. //----------------------------------------------------------------------------
  2. #ifndef OpenDirectoryH
  3. #define OpenDirectoryH
  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 <Mask.hpp>
  16. #include <ComboEdit.hpp>
  17. #include <FileOperationProgress.h>
  18. #include <Terminal.h>
  19. #include <WinInterface.h>
  20. #include <Bookmarks.h>
  21. #include "IEComboBox.hpp"
  22. #include <PasTools.hpp>
  23. //----------------------------------------------------------------------------
  24. class TOpenDirectoryDialog : public TForm
  25. {
  26. __published:
  27. TButton *OKBtn;
  28. TButton *CancelBtn;
  29. TIEComboBox *RemoteDirectoryEdit;
  30. TIEComboBox *LocalDirectoryEdit;
  31. TLabel *EditLabel;
  32. TGroupBox *BookmarksGroup;
  33. TListBox *BookmarksList;
  34. TButton *AddBookmarkButton;
  35. TButton *RemoveBookmarkButton;
  36. TButton *DownBookmarkButton;
  37. TButton *UpBookmarkButton;
  38. TLabel *Label1;
  39. TButton *LocalDirectoryBrowseButton;
  40. TButton *SwitchButton;
  41. TButton *HelpButton;
  42. void __fastcall ControlChange(TObject *Sender);
  43. void __fastcall AddBookmarkButtonClick(TObject *Sender);
  44. void __fastcall RemoveBookmarkButtonClick(TObject *Sender);
  45. void __fastcall BookmarksListClick(TObject *Sender);
  46. void __fastcall BookmarkButtonClick(TObject *Sender);
  47. void __fastcall BookmarksListStartDrag(TObject *Sender,
  48. TDragObject *&DragObject);
  49. void __fastcall BookmarksListDragOver(TObject *Sender, TObject *Source,
  50. int X, int Y, TDragState State, bool &Accept);
  51. void __fastcall BookmarksListDragDrop(TObject *Sender, TObject *Source,
  52. int X, int Y);
  53. void __fastcall DirectoryEditChange(TObject *Sender);
  54. void __fastcall BookmarksListDblClick(TObject *Sender);
  55. void __fastcall FormShow(TObject *Sender);
  56. void __fastcall BookmarksListKeyDown(TObject *Sender, WORD &Key,
  57. TShiftState Shift);
  58. void __fastcall LocalDirectoryBrowseButtonClick(TObject *Sender);
  59. void __fastcall SwitchButtonClick(TObject *Sender);
  60. void __fastcall HelpButtonClick(TObject *Sender);
  61. void __fastcall BookmarksListEndDrag(TObject *Sender, TObject *Target,
  62. int X, int Y);
  63. public:
  64. __fastcall TOpenDirectoryDialog(TComponent* AOwner);
  65. virtual __fastcall ~TOpenDirectoryDialog();
  66. bool __fastcall Execute();
  67. __property AnsiString Directory = { read = GetDirectory, write = SetDirectory };
  68. __property TOperationSide OperationSide = { read = FOperationSide, write = SetOperationSide };
  69. __property TStrings * Directories = { read=GetDirectories, write=SetDirectories };
  70. __property TOpenDirectoryMode Mode = { read = FMode, write = SetMode };
  71. __property TTerminal * Terminal = { read = FTerminal, write = FTerminal };
  72. __property bool AllowSwitch = { read = FAllowSwitch, write = FAllowSwitch };
  73. protected:
  74. bool __fastcall AllowBookmarkDrag(int X, int Y);
  75. void __fastcall BookmarkMove(int Source, int Dest);
  76. Integer __fastcall FindBookmark(const AnsiString Bookmark);
  77. void __fastcall UpdateControls(bool ListBoxUpdate = false);
  78. void __fastcall AddAsBookmark();
  79. __property TWinControl * CurrentEdit = { read = GetCurrentEdit };
  80. private:
  81. TOperationSide FOperationSide;
  82. TTerminal * FTerminal;
  83. int FBookmarkDragSource, FBookmarkDragDest;
  84. TOpenDirectoryMode FMode;
  85. TBookmarkList * FBookmarkList;
  86. bool FAllowSwitch;
  87. TListBoxScrollOnDragOver * FScrollOnDragOver;
  88. void __fastcall SetDirectory(AnsiString value);
  89. AnsiString __fastcall GetDirectory();
  90. TWinControl * __fastcall GetCurrentEdit();
  91. void __fastcall SetOperationSide(TOperationSide value);
  92. void __fastcall SetDirectories(TStrings * value);
  93. TStrings * __fastcall GetDirectories();
  94. void __fastcall SetMode(TOpenDirectoryMode value);
  95. void __fastcall LoadBookmarks();
  96. };
  97. //----------------------------------------------------------------------------
  98. #endif