OpenDirectory.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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 <XPThemes.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. TIEComboBox *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. 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. public:
  62. __fastcall TOpenDirectoryDialog(TComponent* AOwner);
  63. virtual __fastcall ~TOpenDirectoryDialog();
  64. bool __fastcall Execute();
  65. __property AnsiString Directory = { read = GetDirectory, write = SetDirectory };
  66. __property TOperationSide OperationSide = { read = FOperationSide, write = SetOperationSide };
  67. __property TStrings * Directories = { read=GetDirectories, write=SetDirectories };
  68. __property TOpenDirectoryMode Mode = { read = FMode, write = SetMode };
  69. __property TTerminal * Terminal = { read = FTerminal, write = FTerminal };
  70. __property bool AllowSwitch = { read = FAllowSwitch, write = FAllowSwitch };
  71. protected:
  72. bool __fastcall AllowBookmarkDrag(int X, int Y);
  73. void __fastcall BookmarkMove(int Source, int Dest);
  74. Integer __fastcall FindBookmark(const AnsiString Bookmark);
  75. void __fastcall UpdateControls(bool ListBoxUpdate = false);
  76. void __fastcall AddAsBookmark();
  77. __property TWinControl * CurrentEdit = { read = GetCurrentEdit };
  78. private:
  79. TOperationSide FOperationSide;
  80. TTerminal * FTerminal;
  81. int FBookmarkDragSource, FBookmarkDragDest;
  82. TOpenDirectoryMode FMode;
  83. TBookmarkList * FBookmarkList;
  84. bool FAllowSwitch;
  85. void __fastcall SetDirectory(AnsiString value);
  86. AnsiString __fastcall GetDirectory();
  87. TWinControl * __fastcall GetCurrentEdit();
  88. void __fastcall SetOperationSide(TOperationSide value);
  89. void __fastcall SetDirectories(TStrings * value);
  90. TStrings * __fastcall GetDirectories();
  91. void __fastcall SetMode(TOpenDirectoryMode value);
  92. void __fastcall LoadBookmarks();
  93. };
  94. //----------------------------------------------------------------------------
  95. #endif