OpenDirectory.h 3.6 KB

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