OpenDirectory.h 3.9 KB

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