ScpCommander.h 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. //---------------------------------------------------------------------------
  2. #ifndef ScpCommanderH
  3. #define ScpCommanderH
  4. //---------------------------------------------------------------------------
  5. #include "CustomScpExplorer.h"
  6. #include <Classes.hpp>
  7. #include <Controls.hpp>
  8. #include <StdCtrls.hpp>
  9. #include <Forms.hpp>
  10. #include <AssociatedStatusBar.hpp>
  11. #include <CustomDirView.hpp>
  12. #include <CustomUnixDirView.hpp>
  13. #include <IEListView.hpp>
  14. #include <NortonLikeListView.hpp>
  15. #include <UnixDirView.h>
  16. #include <ComCtrls.hpp>
  17. #include <ExtCtrls.hpp>
  18. #include <ToolWin.hpp>
  19. #include <DirView.hpp>
  20. #include <CustomPathComboBox.hpp>
  21. #include <IEComboBox.hpp>
  22. #include <IEPathComboBox.hpp>
  23. #include <PathLabel.hpp>
  24. #include <UnixPathComboBox.h>
  25. #include <ToolbarPanel.hpp>
  26. #include <WinInterface.h>
  27. #include <Synchronize.h>
  28. //---------------------------------------------------------------------------
  29. class TScpCommanderForm : public TCustomScpExplorerForm
  30. {
  31. __published:
  32. TSplitter *Splitter;
  33. TPanel *LocalPanel;
  34. TAssociatedStatusBar *LocalStatusBar;
  35. TDirView *LocalDirView;
  36. TPathLabel *LocalPathLabel;
  37. TPathLabel *RemotePathLabel;
  38. TCoolBar *LocalCoolBar;
  39. TCoolBar *RemoteCoolBar;
  40. TToolbarPanel *ToolbarPanel;
  41. TStatusBar *StatusBar;
  42. TToolBar *MenuToolBar;
  43. TToolButton *ToolButton2;
  44. TToolButton *ToolButton19;
  45. TToolButton *ToolButton1;
  46. TToolButton *ToolButton3;
  47. TToolButton *ToolButton4;
  48. TToolBar *SelectionToolbar;
  49. TToolButton *ToolButton23;
  50. TToolButton *ToolButton24;
  51. TToolButton *ToolButton25;
  52. TToolButton *ToolButton26;
  53. TToolButton *ToolButton28;
  54. TToolButton *ToolButton29;
  55. TToolBar *PreferencesToolbar;
  56. TToolButton *ToolButton33;
  57. TToolButton *ToolButton35;
  58. TToolButton *ToolButton36;
  59. TToolBar *SessionToolbar;
  60. TToolButton *ToolButton30;
  61. TToolButton *ToolButton31;
  62. TToolButton *ToolButton32;
  63. TToolButton *SavedSessionsButton;
  64. TToolBar *CommandToolBar;
  65. TToolButton *ToolButton5;
  66. TToolButton *ToolButton6;
  67. TToolButton *ToolButton17;
  68. TToolButton *ToolButton27;
  69. TToolButton *ToolButton34;
  70. TToolButton *ToolButton16;
  71. TToolButton *ToolButton37;
  72. TToolButton *ToolButton38;
  73. TToolBar *ToolBar1;
  74. TToolButton *LocalBackButton;
  75. TToolButton *LocalForwardButton;
  76. TToolBar *ToolBar2;
  77. TToolButton *ToolButton57;
  78. TToolButton *ToolButton58;
  79. TToolButton *ToolButton59;
  80. TToolButton *ToolButton60;
  81. TToolButton *ToolButton61;
  82. TToolButton *ToolButton62;
  83. TToolBar *ToolBar3;
  84. TToolButton *RemoteBackButton;
  85. TToolButton *RemoteForwardButton;
  86. TToolBar *ToolBar4;
  87. TToolButton *ToolButton87;
  88. TToolButton *ToolButton88;
  89. TToolButton *ToolButton89;
  90. TToolButton *ToolButton90;
  91. TToolButton *ToolButton91;
  92. TToolButton *ToolButton92;
  93. TToolButton *ToolButton7;
  94. TToolBar *SortToolbar;
  95. TToolButton *ToolButton8;
  96. TToolButton *ToolButton9;
  97. TToolButton *ToolButton10;
  98. TToolButton *ToolButton11;
  99. TToolButton *ToolButton13;
  100. TToolButton *ToolButton15;
  101. TToolButton *ToolButton12;
  102. TToolButton *ToolButton14;
  103. TToolButton *ToolButton18;
  104. TToolButton *ToolButton20;
  105. TToolButton *ToolButton21;
  106. TToolButton *ToolButton22;
  107. TToolBar *CommandsToolbar;
  108. TToolButton *ToolButton39;
  109. TToolButton *ToolButton40;
  110. TToolButton *ToolButton41;
  111. TToolBar *ToolBar5;
  112. TIEPathComboBox *LocalPathComboBox;
  113. TToolBar *ToolBar6;
  114. TUnixPathComboBox *RemotePathComboBox;
  115. TToolButton *ToolButton42;
  116. TToolButton *ToolButton43;
  117. TToolButton *ToolButton44;
  118. TToolButton *ToolButton45;
  119. TToolButton *ToolButton46;
  120. TToolButton *ToolButton47;
  121. TToolButton *ToolButton48;
  122. TComboBox *SessionCombo;
  123. TToolButton *ToolButton49;
  124. void __fastcall FormShow(TObject *Sender);
  125. void __fastcall SplitterMoved(TObject *Sender);
  126. void __fastcall SplitterCanResize(TObject *Sender, int &NewSize,
  127. bool &Accept);
  128. void __fastcall SplitterDblClick(TObject *Sender);
  129. void __fastcall PathComboBoxCloseUp(TObject *Sender,
  130. bool Canceled);
  131. void __fastcall FormResize(TObject *Sender);
  132. void __fastcall LocalDirViewChangeDetected(TObject *Sender);
  133. void __fastcall LocalDirViewExecFile(TObject *Sender, TListItem *Item,
  134. bool &AllowExec);
  135. void __fastcall LocalDirViewDDDragEnter(TObject *Sender,
  136. IDataObject *DataObj, int grfKeyState, TPoint &Point,
  137. int &dwEffect, bool &Accept);
  138. void __fastcall DirViewLoaded(TObject *Sender);
  139. void __fastcall SessionComboCloseUp(TObject *Sender);
  140. private:
  141. TCustomDirView * FDirViewToSelect;
  142. float FLastLocalPanelWidth;
  143. float FLocalPanelWidth;
  144. int FLastWidth;
  145. bool FSynchronisingBrowse;
  146. TSynchronizationStatus FSynchronization;
  147. TSynchronizeParamType FSynchronizeParams;
  148. TSynchronizeDialog * FSynchronizeDialog;
  149. AnsiString FPrevPath[2];
  150. bool FFirstTerminal;
  151. void __fastcall SetLocalPanelWidth(float value);
  152. float __fastcall GetLocalPanelWidth();
  153. protected:
  154. virtual Boolean __fastcall CopyParamDialog(TTransferDirection Direction,
  155. TTransferType Type, Boolean DragDrop, TStrings * FileList,
  156. AnsiString & TargetDirectory, TCopyParamType & CopyParam, Boolean Confirm);
  157. virtual TCustomDirView * __fastcall DirView(TOperationSide Side);
  158. virtual void __fastcall ExecuteFileOperation(::TFileOperation Operation, TOperationSide Side, Boolean OnFocused);
  159. TControl * __fastcall GetComponent(Byte Component);
  160. virtual void __fastcall RestoreFormParams();
  161. virtual void __fastcall RestoreParams();
  162. virtual void __fastcall SetComponentVisible(Word Component, Boolean value);
  163. virtual void __fastcall TerminalChanged();
  164. virtual void __fastcall ConfigurationChanged();
  165. //virtual void __fastcall DoDirViewExecFile(TObject * Sender, TListItem * Item, bool & AllowExec);
  166. virtual Boolean __fastcall GetHasDirView(TOperationSide Side);
  167. DYNAMIC void __fastcall KeyDown(Word & Key, Classes::TShiftState Shift);
  168. void __fastcall UpdateControls();
  169. void __fastcall SynchronizeStartStop(System::TObject* Sender, Boolean Start, TSynchronizeParamType Params);
  170. void __fastcall SynchronizeNow();
  171. virtual void __fastcall DoOperationFinished(TOperationSide Side, Boolean DragDrop,
  172. const AnsiString FileName, Boolean Success, Boolean & DisconnectWhenFinished);
  173. virtual void __fastcall FileOperationProgress(
  174. TFileOperationProgressType & ProgressData, TCancelStatus & Cancel);
  175. virtual void __fastcall DoOpenDirectoryDialog(TOpenDirectoryMode Mode, TOperationSide Side);
  176. public:
  177. virtual void __fastcall AddEditLink();
  178. __fastcall TScpCommanderForm(TComponent* Owner);
  179. virtual Boolean __fastcall AllowedAction(TAction * Action, TActionAllowed Allowed);
  180. virtual void __fastcall ChangePath(TOperationSide Side);
  181. virtual void __fastcall CompareDirectories();
  182. virtual void __fastcall UpdateSessionData(TSessionData * Data = NULL);
  183. virtual void __fastcall SynchronizeDirectories();
  184. virtual void __fastcall StoreParams();
  185. virtual void __fastcall ExploreLocalDirectory();
  186. __property float LocalPanelWidth = { read = GetLocalPanelWidth, write = SetLocalPanelWidth };
  187. };
  188. //---------------------------------------------------------------------------
  189. #endif