CustomScpExplorer.h 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780
  1. //---------------------------------------------------------------------------
  2. #ifndef CustomScpExplorerH
  3. #define CustomScpExplorerH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <CustomDirView.hpp>
  10. #include <CustomUnixDirView.hpp>
  11. #include <IEListView.hpp>
  12. #include <NortonLikeListView.hpp>
  13. #include <UnixDirView.h>
  14. #include <ComCtrls.hpp>
  15. #include <ExtCtrls.hpp>
  16. #include <ToolWin.hpp>
  17. #include <WinInterface.h>
  18. #include <WinConfiguration.h>
  19. #include <Terminal.h>
  20. #include <Queue.h>
  21. #include "QueueController.h"
  22. #include "UnixDriveView.h"
  23. #include "CustomDriveView.hpp"
  24. #include "TBX.hpp"
  25. #include "TB2Dock.hpp"
  26. #include "TBXExtItems.hpp"
  27. #include "TBXStatusBars.hpp"
  28. #include "TB2Item.hpp"
  29. #include "TB2Toolbar.hpp"
  30. #include "TBXToolPals.hpp"
  31. #include "PngImageList.hpp"
  32. #include "ThemePageControl.h"
  33. #include "PathLabel.hpp"
  34. #include <Vcl.AppEvnts.hpp>
  35. //---------------------------------------------------------------------------
  36. class TProgressForm;
  37. class TSynchronizeProgressForm;
  38. class TTerminalQueue;
  39. class TTerminalQueueStatus;
  40. class TQueueItem;
  41. class TQueueItemProxy;
  42. class TQueueController;
  43. class TSynchronizeController;
  44. class TEditorManager;
  45. class TEditorData;
  46. class TTransferPresetNoteData;
  47. struct TEditedFileData;
  48. class ITaskbarList3;
  49. struct TSynchronizeParams;
  50. class TBookmark;
  51. //---------------------------------------------------------------------------
  52. enum TActionAllowed { aaShortCut, aaUpdate, aaExecute };
  53. enum TActionFlag { afLocal = 1, afRemote = 2, afExplorer = 4 , afCommander = 8 };
  54. enum TExecuteFileBy { efShell = 1, efInternalEditor = 2, efExternalEditor = 3, efDefaultEditor = 100 };
  55. enum TPanelExport { pePath, peFileList, peFullFileList };
  56. enum TPanelExportDestination { pedClipboard, pedCommandLine };
  57. enum TCopyOperationCommandFlag {
  58. cocNone = 0x00, cocShortCutHint = 0x01, cocQueue = 0x02, cocNonQueue = 0x04
  59. };
  60. enum TCustomCommandListType { ccltAll, ccltBoth, ccltNonFile, ccltFile };
  61. //---------------------------------------------------------------------------
  62. class TCustomScpExplorerForm : public TForm
  63. {
  64. friend class TAutoBatch;
  65. __published:
  66. TPanel *RemotePanel;
  67. TTBXStatusBar *RemoteStatusBar;
  68. TUnixDirView *RemoteDirView;
  69. TTBXDock *TopDock;
  70. TListView *QueueView3;
  71. TPanel *QueuePanel;
  72. TSplitter *QueueSplitter;
  73. TTBXToolbar *QueueToolbar;
  74. TTBXDock *QueueDock;
  75. TTBXItem *QueueEnableItem;
  76. TTBXSeparatorItem *TBXSeparatorItem203;
  77. TTBXItem *TBXItem201;
  78. TTBXItem *TBXItem202;
  79. TTBXItem *TBXItem203;
  80. TTBXItem *TBXItem204;
  81. TTBXItem *TBXItem205;
  82. TTBXSeparatorItem *TBXSeparatorItem201;
  83. TTBXItem *TBXItem206;
  84. TTBXItem *TBXItem207;
  85. TTBXSeparatorItem *TBXSeparatorItem202;
  86. TTBXItem *TBXItem208;
  87. TUnixDriveView *RemoteDriveView;
  88. TSplitter *RemotePanelSplitter;
  89. TTBXItem *TBXItem194;
  90. TTBXItem *TBXItem195;
  91. TTBXSubmenuItem *TBXSubmenuItem27;
  92. TTBXItem *TBXItem211;
  93. TTBXItem *TBXItem225;
  94. TTBXItem *TBXItem226;
  95. TTabSheet *TabSheet1;
  96. TThemePageControl *SessionsPageControl;
  97. TPathLabel *QueueLabel;
  98. TTBXSeparatorItem *TBXSeparatorItem57;
  99. TTBXItem *QueueDeleteAllDoneQueueToolbarItem;
  100. TTBXItem *TBXItem173;
  101. TApplicationEvents *ApplicationEvents;
  102. void __fastcall ApplicationMinimize(TObject * Sender);
  103. void __fastcall ApplicationRestore(TObject * Sender);
  104. void __fastcall RemoteDirViewContextPopup(TObject *Sender,
  105. const TPoint &MousePos, bool &Handled);
  106. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  107. void __fastcall RemoteDirViewDisplayProperties(TObject *Sender);
  108. void __fastcall DirViewColumnRightClick(TObject *Sender,
  109. TListColumn *Column, TPoint &Point);
  110. void __fastcall DirViewExecFile(TObject *Sender, TListItem *Item, bool &AllowExec);
  111. void __fastcall ToolBarResize(TObject *Sender);
  112. void __fastcall FileControlDDDragEnter(TObject *Sender,
  113. _di_IDataObject DataObj, int grfKeyState, const TPoint &Point,
  114. int &dwEffect, bool &Accept);
  115. void __fastcall FileControlDDDragLeave(TObject *Sender);
  116. void __fastcall RemoteFileControlDDCreateDragFileList(TObject *Sender,
  117. TFileList *FileList, bool &Created);
  118. void __fastcall RemoteFileControlDDEnd(TObject *Sender);
  119. void __fastcall RemoteFileControlDDCreateDataObject(TObject *Sender,
  120. TDataObject *&DataObject);
  121. void __fastcall RemoteFileControlDDGiveFeedback(TObject *Sender,
  122. int dwEffect, HRESULT &Result);
  123. void __fastcall QueueSplitterCanResize(TObject *Sender, int &NewSize,
  124. bool &Accept);
  125. void __fastcall QueueView3ContextPopup(TObject *Sender, TPoint &MousePos,
  126. bool &Handled);
  127. void __fastcall QueueView3Deletion(TObject *Sender, TListItem *Item);
  128. void __fastcall QueueView3StartDrag(TObject *Sender,
  129. TDragObject *&DragObject);
  130. void __fastcall QueueView3DragOver(TObject *Sender, TObject *Source,
  131. int X, int Y, TDragState State, bool &Accept);
  132. void __fastcall QueueView3DragDrop(TObject *Sender, TObject *Source,
  133. int X, int Y);
  134. void __fastcall QueueView3Enter(TObject *Sender);
  135. void __fastcall QueueView3SelectItem(TObject *Sender, TListItem *Item,
  136. bool Selected);
  137. void __fastcall RemoteFileControlDDFileOperation(TObject * Sender,
  138. int Effect, UnicodeString SourcePath, UnicodeString TargetPath,
  139. bool & DoOperation);
  140. void __fastcall RemoteFileContolDDChooseEffect(TObject * Sender,
  141. int grfKeyState, int & dwEffect);
  142. void __fastcall RemoteFileControlDDDragFileName(TObject * Sender,
  143. TRemoteFile * File, UnicodeString & FileName);
  144. void __fastcall RemoteFileControlDDDragDetect(TObject * Sender,
  145. int grfKeyState, const TPoint & DetectStart, const TPoint & Point,
  146. TDragDetectStatus DragStatus);
  147. void __fastcall RemoteFileControlDDQueryContinueDrag(TObject *Sender,
  148. BOOL FEscapePressed, int grfKeyState, HRESULT &Result);
  149. void __fastcall RemoteDirViewEnter(TObject *Sender);
  150. void __fastcall RemoteDriveViewEnter(TObject *Sender);
  151. void __fastcall DirViewMatchMask(TObject *Sender, UnicodeString FileName,
  152. bool Directory, __int64 Size, TDateTime Modification,
  153. UnicodeString Masks, bool &Matches, bool AllowImplicitMatches);
  154. void __fastcall DirViewGetOverlay(TObject *Sender, TListItem *Item,
  155. WORD &Indexes);
  156. void __fastcall DirViewHistoryChange(TCustomDirView *Sender);
  157. void __fastcall RemoteStatusBarClick(TObject *Sender);
  158. void __fastcall DirViewLoaded(TObject *Sender);
  159. void __fastcall ToolbarGetBaseSize(TTBCustomToolbar * Toolbar, TPoint & ASize);
  160. void __fastcall FormConstrainedResize(TObject * Sender, int & MinWidth,
  161. int &MinHeight, int &MaxWidth, int &MaxHeight);
  162. void __fastcall StatusBarPanelDblClick(TTBXCustomStatusBar * Sender,
  163. TTBXStatusPanel * Panel);
  164. void __fastcall RemotePathComboBoxAdjustImageIndex(
  165. TTBXComboBoxItem * Sender, const UnicodeString AText, int AIndex,
  166. int & ImageIndex);
  167. void __fastcall RemotePathComboBoxDrawItem(TTBXCustomList * Sender,
  168. TCanvas * ACanvas, TRect & ARect, int AIndex, int AHoverIndex,
  169. bool & DrawDefault);
  170. void __fastcall RemotePathComboBoxMeasureWidth(TTBXCustomList * Sender,
  171. TCanvas * ACanvas, int AIndex, int & AWidth);
  172. void __fastcall RemotePathComboBoxItemClick(TObject * Sender);
  173. void __fastcall RemotePathComboBoxCancel(TObject * Sender);
  174. void __fastcall DirViewEditing(TObject *Sender, TListItem *Item,
  175. bool &AllowEdit);
  176. void __fastcall FormShow(TObject *Sender);
  177. void __fastcall SessionsPageControlChange(TObject *Sender);
  178. void __fastcall SessionsPageControlMouseDown(TObject *Sender, TMouseButton Button,
  179. TShiftState Shift, int X, int Y);
  180. void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  181. void __fastcall RemoteDirViewRead(TObject *Sender);
  182. void __fastcall DirViewSelectItem(TObject *Sender, TListItem *Item, bool Selected);
  183. void __fastcall SessionsPageControlDragDrop(TObject *Sender, TObject *Source, int X,
  184. int Y);
  185. void __fastcall SessionsPageControlDragOver(TObject *Sender, TObject *Source, int X,
  186. int Y, TDragState State, bool &Accept);
  187. void __fastcall QueueView3Exit(TObject *Sender);
  188. void __fastcall EditMenuItemPopup(TTBCustomItem *Sender, bool FromLink);
  189. void __fastcall DirViewBusy(TObject *Sender, int Busy, bool & Allow);
  190. void __fastcall SessionsPageControlContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled);
  191. void __fastcall DockContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled);
  192. void __fastcall SessionsPageControlCloseButtonClick(TPageControl *Sender, int Index);
  193. private:
  194. TTerminal * FTerminal;
  195. TTerminalQueue * FQueue;
  196. TTerminalQueueStatus * FQueueStatus;
  197. TCriticalSection * FQueueStatusSection;
  198. bool FQueueStatusInvalidated;
  199. bool FQueueItemInvalidated;
  200. bool FFormRestored;
  201. bool FAutoOperation;
  202. TFileOperationFinishedEvent FOnFileOperationFinished;
  203. bool FForceExecution;
  204. unsigned short FIgnoreNextDialogChar;
  205. TStringList * FErrorList;
  206. HANDLE FDDExtMutex;
  207. UnicodeString FDragFakeDirectory;
  208. TObjectList * FDragFakeMonitors;
  209. UnicodeString FClipboardFakeDirectory;
  210. std::unique_ptr<TObjectList> FClipboardFakeMonitors;
  211. std::unique_ptr<TDragDropFilesEx> FClipboardDragDropFilesEx;
  212. TTerminal * FClipboardTerminal;
  213. std::unique_ptr<TStrings> FClipboardFileList;
  214. TStrings * FDelayedDeletionList;
  215. TTimer * FDelayedDeletionTimer;
  216. TStrings * FDDFileList;
  217. __int64 FDDTotalSize;
  218. std::unique_ptr<ExtException> FDragDropSshTerminate;
  219. HINSTANCE FOle32Library;
  220. HCURSOR FDragMoveCursor;
  221. UnicodeString FDragTempDir;
  222. bool FRefreshLocalDirectory;
  223. bool FRefreshRemoteDirectory;
  224. TListItem * FQueueActedItem;
  225. TQueueController * FQueueController;
  226. int FLastDropEffect;
  227. bool FPendingTempSpaceWarn;
  228. TEditorManager * FEditorManager;
  229. TList * FLocalEditors;
  230. TStrings * FCapturedLog;
  231. bool FDragDropOperation;
  232. UnicodeString FCopyParamDefault;
  233. UnicodeString FCopyParamAutoSelected;
  234. bool FEditingFocusedAdHocCommand;
  235. TList * FDocks;
  236. TSynchronizeController * FSynchronizeController;
  237. UnicodeString FTransferDropDownHint;
  238. int FTransferListHoverIndex;
  239. TColor FSessionColor;
  240. TPngImageList * FSessionColors;
  241. int FNewSessionTabImageIndex;
  242. int FSessionTabImageIndex;
  243. int FSessionColorMaskImageIndex;
  244. ::TTrayIcon * FTrayIcon;
  245. TCustomCommandType FLastCustomCommand;
  246. TFileMasks FDirViewMatchMask;
  247. TTBXPopupMenu * FCustomCommandMenu;
  248. TStrings * FCustomCommandLocalFileList;
  249. TStrings * FCustomCommandRemoteFileList;
  250. ITaskbarList3 * FTaskbarList;
  251. bool FShowing;
  252. int FMaxQueueLength;
  253. TDateTime FSessionsPageControlNewSessionTime;
  254. bool FAppIdle;
  255. typedef std::set<TTBCustomItem *> TItemsWithTextDisplayMode;
  256. TItemsWithTextDisplayMode FItemsWithTextDisplayMode;
  257. HWND FHiddenWindow;
  258. TStrings * FTransferResumeList;
  259. bool FMoveToQueue;
  260. bool FStandaloneEditing;
  261. TFeedSynchronizeError FOnFeedSynchronizeError;
  262. bool FNeedSession;
  263. TTerminal * FFileFindTerminal;
  264. bool __fastcall GetEnableFocusedOperation(TOperationSide Side, int FilesOnly);
  265. bool __fastcall GetEnableSelectedOperation(TOperationSide Side, int FilesOnly);
  266. void __fastcall SetTerminal(TTerminal * value);
  267. void __fastcall DoSetTerminal(TTerminal * value, bool Replace);
  268. void __fastcall SetQueue(TTerminalQueue * value);
  269. void __fastcall TransferListChange(TObject * Sender);
  270. void __fastcall TransferListDrawItem(TTBXCustomList * Sender, TCanvas * ACanvas,
  271. const TRect & ARect, int AIndex, int AHoverIndex, bool & DrawDefault);
  272. void __fastcall CloseInternalEditor(TObject * Sender);
  273. void __fastcall ForceCloseInternalEditor(TObject * Sender);
  274. void __fastcall ForceCloseLocalEditors();
  275. void __fastcall TerminalCaptureLog(const UnicodeString & AddedLine, TCaptureOutputType OutputType);
  276. void __fastcall HistoryItemClick(System::TObject* Sender);
  277. void __fastcall UpdateHistoryMenu(TOperationSide Side, bool Back);
  278. void __fastcall AdHocCustomCommandValidate(const TCustomCommandType & Command);
  279. void __fastcall SetDockAllowDrag(bool value);
  280. void __fastcall QueueSplitterDblClick(TObject * Sender);
  281. void __fastcall AddQueueItem(TTerminalQueue * Queue, TTransferDirection Direction,
  282. TStrings * FileList, const UnicodeString TargetDirectory,
  283. const TGUICopyParamType & CopyParam, int Params);
  284. void __fastcall AddQueueItem(TTerminalQueue * Queue, TQueueItem * QueueItem, TTerminal * Terminal);
  285. void __fastcall ClearTransferSourceSelection(TTransferDirection Direction);
  286. void __fastcall SessionsDDDragOver(int KeyState, const TPoint & Point, int & Effect);
  287. void __fastcall SessionsDDProcessDropped(TObject * Sender, int KeyState, const TPoint & Point, int Effect);
  288. void __fastcall RemoteFileControlDragDropFileOperation(
  289. TObject * Sender, int Effect, UnicodeString TargetPath, bool ForceQueue);
  290. void __fastcall SessionsDDDragEnter(_di_IDataObject DataObj, int KeyState,
  291. const TPoint & Point, int & Effect, bool & Accept);
  292. void __fastcall SessionsDDDragLeave();
  293. void __fastcall QueueDDProcessDropped(TObject * Sender, int KeyState, const TPoint & Point, int Effect);
  294. void __fastcall QueueDDDragEnter(_di_IDataObject DataObj, int KeyState,
  295. const TPoint & Point, int & Effect, bool & Accept);
  296. void __fastcall QueueDDDragLeave();
  297. void __fastcall EnableDDTransferConfirmation(TObject * Sender);
  298. void __fastcall CollectItemsWithTextDisplayMode(TWinControl * Control);
  299. void __fastcall CreateHiddenWindow();
  300. bool __fastcall IsQueueAutoPopup();
  301. void __fastcall UpdateSessionsPageControlHeight();
  302. TDragDropFilesEx * __fastcall CreateDragDropFilesEx();
  303. void __fastcall KeyProcessed(Word & Key, TShiftState Shift);
  304. void __fastcall CheckCustomCommandShortCut(TCustomCommandList * List, Word & Key, Classes::TShiftState Shift, TShortCut KeyShortCut);
  305. void __fastcall CMShowingChanged(TMessage & Message);
  306. void __fastcall WMClose(TMessage & Message);
  307. void __fastcall CMDpiChanged(TMessage & Message);
  308. void __fastcall WMDpiChanged(TMessage & Message);
  309. void __fastcall DoBookmarkClick(TOperationSide Side, TObject * Sender);
  310. void __fastcall LocalBookmarkClick(TObject * Sender);
  311. void __fastcall RemoteBookmarkClick(TObject * Sender);
  312. protected:
  313. TOperationSide FCurrentSide;
  314. bool FEverShown;
  315. TControl * FDDTargetControl;
  316. TProgressForm * FProgressForm;
  317. TSynchronizeProgressForm * FSynchronizeProgressForm;
  318. HANDLE FDDExtMapFile;
  319. TTimer * FUserActionTimer;
  320. TQueueItemProxy * FPendingQueueActionItem;
  321. TTBXPopupMenu * FHistoryMenu[2][2];
  322. bool FAllowTransferPresetAutoSelect;
  323. TStrings * FNotes;
  324. TTimer * FNoteTimer;
  325. TDateTime FNoteShown;
  326. UnicodeString FNote;
  327. TObject * FNoteData;
  328. UnicodeString FNoteHints;
  329. TNotifyEvent FOnNoteClick;
  330. unsigned int FLockLevel;
  331. unsigned int FLockSuspendLevel;
  332. bool FDisabledOnLockSuspend;
  333. bool FAlternativeDelete;
  334. TDragDropFilesEx * FSessionsDragDropFilesEx;
  335. TDragDropFilesEx * FQueueDragDropFilesEx;
  336. TPoint FLastContextPopupScreenPoint;
  337. bool FRemoteDirViewWasFocused;
  338. int FDoNotIdleCurrentTerminal;
  339. UnicodeString FFakeFileDropTarget;
  340. virtual bool __fastcall CopyParamDialog(TTransferDirection Direction,
  341. TTransferType Type, bool Temp, TStrings * FileList,
  342. UnicodeString & TargetDirectory, TGUICopyParamType & CopyParam, bool Confirm,
  343. bool DragDrop, int Options);
  344. virtual void __fastcall CopyParamDialogAfter(TTransferDirection Direction, bool Temp, const UnicodeString & TargetDirectory);
  345. virtual bool __fastcall RemoteTransferDialog(TTerminal *& Session,
  346. TStrings * FileList, UnicodeString & Target, UnicodeString & FileMask, bool & DirectCopy,
  347. bool NoConfirmation, bool Move);
  348. virtual void __fastcall CreateParams(TCreateParams & Params);
  349. void __fastcall DeleteFiles(TOperationSide Side, TStrings * FileList, bool Alternative);
  350. bool __fastcall RemoteTransferFiles(TStrings * FileList, bool NoConfirmation,
  351. bool Move, TTerminal * Session);
  352. virtual void __fastcall DoDirViewExecFile(TObject * Sender, TListItem * Item, bool & AllowExec);
  353. virtual TControl * __fastcall GetComponent(Byte Component);
  354. bool __fastcall GetComponentVisible(Byte Component);
  355. virtual Boolean __fastcall GetHasDirView(TOperationSide Side);
  356. DYNAMIC void __fastcall KeyDown(Word & Key, Classes::TShiftState Shift);
  357. virtual void __fastcall RestoreFormParams();
  358. virtual void __fastcall RestoreParams();
  359. virtual void __fastcall SetComponentVisible(Byte Component, bool value);
  360. virtual void __fastcall ComponentShowing(Byte Component, bool value);
  361. virtual void __fastcall FixControlsPlacement();
  362. bool __fastcall SetProperties(TOperationSide Side, TStrings * FileList);
  363. void __fastcall CustomCommand(TStrings * FileList,
  364. const TCustomCommandType & Command, TStrings * ALocalFileList);
  365. void __fastcall RemoteCustomCommand(
  366. TStrings * FileList, const TCustomCommandType & ACommand,
  367. const TCustomCommandData & Data, const UnicodeString & CommandCommand);
  368. void __fastcall LocalCustomCommandPure(
  369. TStrings * FileList, const TCustomCommandType & ACommand, const UnicodeString & Command, TStrings * ALocalFileList,
  370. const TCustomCommandData & Data, bool LocalFileCommand, bool FileListCommand, UnicodeString * POutput);
  371. void __fastcall LocalCustomCommandWithRemoteFiles(
  372. const TCustomCommandType & ACommand, const UnicodeString & Command, const TCustomCommandData & Data,
  373. bool FileListCommand, UnicodeString * POutput);
  374. void __fastcall LocalCustomCommand(TStrings * FileList,
  375. const TCustomCommandType & ACommand, TStrings * ALocalFileList,
  376. const TCustomCommandData & Data, const UnicodeString & CommandCommand);
  377. virtual void __fastcall TerminalChanging();
  378. virtual void __fastcall TerminalChanged(bool Replaced);
  379. virtual void __fastcall QueueChanged();
  380. void __fastcall InitStatusBar();
  381. void __fastcall UpdateStatusBar();
  382. virtual void __fastcall UpdateStatusPanelText(TTBXStatusPanel * Panel);
  383. virtual void __fastcall DoOperationFinished(TFileOperation Operation,
  384. TOperationSide Side, bool Temp, const UnicodeString & FileName, bool Success,
  385. TOnceDoneOperation & OnceDoneOperation);
  386. virtual void __fastcall DoOpenDirectoryDialog(TOpenDirectoryMode Mode, TOperationSide Side);
  387. void __fastcall CreateProgressForm(TSynchronizeProgress * SynchronizeProgress);
  388. void __fastcall DestroyProgressForm();
  389. virtual void __fastcall FileOperationProgress(TFileOperationProgressType & ProgressData);
  390. void __fastcall OperationComplete(const TDateTime & StartTime);
  391. void __fastcall ExecutedFileChanged(const UnicodeString FileName,
  392. TEditedFileData * Data, HANDLE UploadCompleteEvent);
  393. void __fastcall ExecutedFileReload(const UnicodeString FileName,
  394. const TEditedFileData * Data);
  395. void __fastcall ExecutedFileEarlyClosed(const TEditedFileData * Data,
  396. bool & KeepOpen);
  397. void __fastcall ExecutedFileUploadComplete(TObject * Sender);
  398. void __fastcall CMDialogChar(TMessage & AMessage);
  399. inline void __fastcall WMAppCommand(TMessage & Message);
  400. inline void __fastcall WMSysCommand(TMessage & Message);
  401. void __fastcall WMQueryEndSession(TMessage & Message);
  402. void __fastcall WMEndSession(TWMEndSession & Message);
  403. #ifdef _DEBUG
  404. inline void __fastcall WMWindowPosChanged(TWMWindowPosMsg & Message);
  405. #endif
  406. void __fastcall WMCopyData(TMessage & Message);
  407. virtual void __fastcall SysResizing(unsigned int Cmd);
  408. DYNAMIC void __fastcall DoShow();
  409. TStrings * __fastcall CreateVisitedDirectories(TOperationSide Side);
  410. void __fastcall HandleErrorList(TStringList *& ErrorList);
  411. void __fastcall TerminalSynchronizeDirectory(const UnicodeString LocalDirectory,
  412. const UnicodeString RemoteDirectory, bool & Continue, bool Collect);
  413. void __fastcall DoSynchronize(TSynchronizeController * Sender,
  414. const UnicodeString LocalDirectory, const UnicodeString RemoteDirectory,
  415. const TCopyParamType & CopyParam, const TSynchronizeParamType & Params,
  416. TSynchronizeChecklist ** Checklist, TSynchronizeOptions * Options, bool Full);
  417. void __fastcall DoSynchronizeInvalid(TSynchronizeController * Sender,
  418. const UnicodeString Directory, const UnicodeString ErrorStr);
  419. void __fastcall DoSynchronizeTooManyDirectories(TSynchronizeController * Sender,
  420. int & MaxDirectories);
  421. void __fastcall Synchronize(const UnicodeString LocalDirectory,
  422. const UnicodeString RemoteDirectory, TSynchronizeMode Mode,
  423. const TCopyParamType & CopyParam, int Params, TSynchronizeChecklist ** Checklist,
  424. TSynchronizeOptions * Options);
  425. void __fastcall SynchronizeSessionLog(const UnicodeString & Message);
  426. void __fastcall GetSynchronizeOptions(int Params, TSynchronizeOptions & Options);
  427. void __fastcall SynchronizeInNewWindow(const TSynchronizeParamType & Params, const TCopyParamType * CopyParams);
  428. bool __fastcall SynchronizeAllowSelectedOnly();
  429. virtual void __fastcall BatchStart(void *& Storage);
  430. virtual void __fastcall BatchEnd(void * Storage);
  431. bool __fastcall ExecuteFileOperation(TFileOperation Operation, TOperationSide Side,
  432. TStrings * FileList, bool NoConfirmation, void * Param);
  433. bool __fastcall ExecuteCopyMoveFileOperation(
  434. TFileOperation Operation, TOperationSide Side, TStrings * FileList, bool NoConfirmation, void * Param);
  435. bool __fastcall ExecuteDeleteFileOperation(TOperationSide Side, TStrings * FileList, bool NoConfirmation, void * Param);
  436. virtual bool __fastcall DDGetTarget(UnicodeString & Directory,
  437. bool & ForceQueue, UnicodeString & CounterName);
  438. virtual void __fastcall DDFakeFileInitDrag(TFileList * FileList, bool & Created);
  439. UnicodeString __fastcall CreateFakeTransferDirectory();
  440. void __fastcall DDFakeCreated(TObject * Sender, const UnicodeString FileName);
  441. void __fastcall ClipboardFakeCreated(TObject * Sender, const UnicodeString FileName);
  442. void __fastcall ClipboardDataObjectRelease(TObject * Sender);
  443. virtual void __fastcall SideEnter(TOperationSide Side);
  444. virtual TOperationSide __fastcall GetSide(TOperationSide Side);
  445. TStrings * __fastcall PanelExport(TOperationSide Side, TPanelExport Export);
  446. virtual void __fastcall PanelExportStore(TOperationSide Side,
  447. TPanelExport Export, TPanelExportDestination Destination,
  448. TStrings * ExportData);
  449. void __fastcall GenerateUrl(TStrings * Paths);
  450. void __fastcall QueueListUpdate(TTerminalQueue * Queue);
  451. void __fastcall QueueItemUpdate(TTerminalQueue * Queue, TQueueItem * Item);
  452. void __fastcall UpdateQueueStatus(bool QueueChanging);
  453. void __fastcall RefreshQueueItems();
  454. virtual int __fastcall GetStaticComponentsHeight();
  455. void __fastcall FillQueueViewItem(TListItem * Item,
  456. TQueueItemProxy * QueueItem, bool Detail);
  457. void __fastcall QueueViewDeleteItem(int Index);
  458. void __fastcall UserActionTimer(TObject * Sender);
  459. void __fastcall UpdateQueueView();
  460. bool __fastcall CanCloseQueue(TTerminalQueue * Queue);
  461. bool __fastcall CanCloseQueue();
  462. virtual bool __fastcall IsFileControl(TObject * Control, TOperationSide Side);
  463. virtual void __fastcall ReloadLocalDirectory(const UnicodeString Directory = L"");
  464. virtual bool __fastcall PanelOperation(TOperationSide Side, bool DragDrop);
  465. void __fastcall DoWarnLackOfTempSpace(const UnicodeString Path,
  466. __int64 RequiredSpace, bool & Continue);
  467. void __fastcall AddDelayedDirectoryDeletion(const UnicodeString TempDir, int SecDelay);
  468. void __fastcall DoDelayedDeletion(TObject * Sender);
  469. TDragDropFilesEx * __fastcall DragDropFiles(TObject * Sender);
  470. void __fastcall RemoteFileControlDDTargetDrop();
  471. bool __fastcall RemoteFileControlFileOperation(TObject * Sender,
  472. TFileOperation Operation, bool NoConfirmation, void * Param);
  473. void __fastcall DDDownload(
  474. TStrings * FilesToCopy, const UnicodeString & TargetDir, const TCopyParamType * CopyParam, int Params);
  475. bool __fastcall EnsureCommandSessionFallback(TFSCapability Capability);
  476. bool __fastcall CommandSessionFallback();
  477. void __fastcall FileTerminalRemoved(const UnicodeString FileName,
  478. TEditedFileData * Data, TObject * Token, void * Arg);
  479. void __fastcall FileConfigurationChanged(const UnicodeString FileName,
  480. TEditedFileData * Data, TObject * Token, void * Arg);
  481. void __fastcall CustomExecuteFile(TOperationSide Side,
  482. TExecuteFileBy ExecuteFileBy, UnicodeString FileName, UnicodeString OriginalFileName,
  483. const TEditorData * ExternalEditor, UnicodeString LocalRootDirectory,
  484. UnicodeString RemoteDirectory);
  485. void __fastcall ExecuteFile(TOperationSide Side,
  486. TExecuteFileBy ExecuteFileBy, const TEditorData * ExternalEditor,
  487. UnicodeString FullFileName, TObject * Object,
  488. const TFileMasks::TParams & MaskParams);
  489. bool __fastcall RemoteExecuteForceText(TExecuteFileBy ExecuteFileBy,
  490. const TEditorData * ExternalEditor);
  491. void __fastcall ExecuteFileNormalize(TExecuteFileBy & ExecuteFileBy,
  492. const TEditorData *& ExternalEditor, const UnicodeString & FileName,
  493. bool Local, const TFileMasks::TParams & MaskParams);
  494. void __fastcall ExecuteRemoteFile(
  495. const UnicodeString & FullFileName, TRemoteFile * File, TExecuteFileBy ExecuteFileBy);
  496. void __fastcall TemporaryFileCopyParam(TCopyParamType & CopyParam);
  497. void __fastcall TemporaryDirectoryForRemoteFiles(
  498. UnicodeString RemoteDirectory, TCopyParamType CopyParam,
  499. UnicodeString & Result, UnicodeString & RootDirectory);
  500. void __fastcall TemporarilyDownloadFiles(TStrings * FileList, bool ForceText,
  501. UnicodeString & RootTempDir, UnicodeString & TempDir, bool AllFiles, bool GetTargetNames,
  502. bool AutoOperation);
  503. void __fastcall LocalEditorClosed(TObject * Sender, bool Forced);
  504. TTBXPopupMenu * __fastcall HistoryMenu(TOperationSide Side, bool Back);
  505. UnicodeString __fastcall FileStatusBarText(const TStatusFileInfo & FileInfo, TOperationSide Side);
  506. void __fastcall UpdateFileStatusBar(TTBXStatusBar * StatusBar,
  507. const TStatusFileInfo & FileInfo, TOperationSide Side);
  508. void __fastcall UpdateFileStatusExtendedPanels(
  509. TTBXStatusBar * StatusBar, const TStatusFileInfo & FileInfo);
  510. void __fastcall FileStatusBarPanelClick(TTBXStatusPanel * Panel, TOperationSide Side);
  511. virtual void __fastcall DoDirViewLoaded(TCustomDirView * Sender);
  512. virtual void __fastcall UpdateControls();
  513. void __fastcall UpdateTransferList();
  514. void __fastcall UpdateTransferLabel();
  515. void __fastcall StartUpdates();
  516. void __fastcall TransferPresetAutoSelect();
  517. virtual void __fastcall GetTransferPresetAutoSelectData(TCopyParamRuleData & Data);
  518. inline bool __fastcall CustomCommandRemoteAllowed();
  519. void __fastcall CustomCommandMenu(
  520. TAction * Action, TStrings * LocalFileList, TStrings * RemoteFileList);
  521. void __fastcall LoadToolbarsLayoutStr(UnicodeString LayoutStr, UnicodeString ButtonsStr);
  522. UnicodeString __fastcall GetToolbarItemName(TTBCustomItem * Item);
  523. UnicodeString __fastcall GetToolbarsLayoutStr();
  524. UnicodeString __fastcall GetToolbarsButtonsStr();
  525. virtual void __fastcall Dispatch(void * Message);
  526. void __fastcall PostComponentHide(Byte Component);
  527. void __fastcall GetSpaceAvailable(const UnicodeString Path,
  528. TSpaceAvailable & ASpaceAvailable, bool & Close);
  529. void __fastcall CalculateSize(TStrings * FileList, __int64 & Size,
  530. TCalculateSizeStats & Stats, bool & Close);
  531. void __fastcall CalculateChecksum(const UnicodeString & Alg, TStrings * FileList,
  532. TCalculatedChecksumEvent OnCalculatedChecksum, bool & Close);
  533. void __fastcall UpdateCustomCommandsToolbar();
  534. virtual void __fastcall UpdateActions();
  535. void __fastcall SetSessionColor(TColor value);
  536. void __fastcall NoteTimer(TObject * Sender);
  537. void __fastcall AddNote(UnicodeString Note, bool UpdateNow = true);
  538. void __fastcall PostNote(UnicodeString Note, unsigned int Seconds,
  539. TNotifyEvent OnNoteClick, TObject * NoteData);
  540. bool __fastcall CancelNote(bool Force);
  541. void __fastcall UpdatesChecked();
  542. void __fastcall UpdatesNoteClicked(TObject * Sender);
  543. void __fastcall TransferPresetNoteClicked(TObject * Sender);
  544. void __fastcall TransferPresetNoteMessage(TTransferPresetNoteData * NoteData,
  545. bool AllowNeverAskAgain);
  546. void __fastcall UpdateTrayIcon();
  547. void __fastcall TrayIconClick(TObject * Sender);
  548. void __fastcall Notify(TTerminal * Terminal, UnicodeString Message,
  549. TQueryType Type, bool Important = false, TNotifyEvent OnClick = NULL,
  550. TObject * UserData = NULL, Exception * E = NULL);
  551. virtual void __fastcall UpdateSessionData(TSessionData * Data);
  552. virtual void __fastcall UpdateRemotePathComboBox(bool TextOnly);
  553. virtual void __fastcall ToolbarItemResize(TTBXCustomDropDownItem * Item, int Width);
  554. virtual void __fastcall CreateWnd();
  555. virtual void __fastcall DestroyWnd();
  556. virtual bool __fastcall OpenBookmark(TOperationSide Side, TBookmark * Bookmark);
  557. void __fastcall DoFindFiles(TTerminal * Terminal, UnicodeString Directory, const TFileMasks & FileMask,
  558. TFileFoundEvent OnFileFound, TFindingFileEvent OnFindingFile);
  559. virtual void __fastcall DoFocusRemotePath(TTerminal * Terminal, const UnicodeString & Path);
  560. bool __fastcall CanOperateOnFoundFiles(TTerminal * ATerminal);
  561. void __fastcall DoOperationOnFoundFiles(
  562. TFileOperation Operation, TTerminal * ATerminal, TStrings * FileList, TFileOperationFinishedEvent OnFileOperationFinished);
  563. void __fastcall DoDeleteFoundFiles(TTerminal * Terminal, TStrings * FileList, TFileOperationFinishedEvent OnFileOperationFinished);
  564. void __fastcall DoDownloadFoundFiles(TTerminal * ATerminal, TStrings * FileList, TFileOperationFinishedEvent OnFileOperationFinished);
  565. void __fastcall DoEditFoundFiles(TTerminal * ATerminal, TStrings * FileList, TFileOperationFinishedEvent OnFileOperationFinished);
  566. bool __fastcall ExecuteFileOperation(TFileOperation Operation, TOperationSide Side,
  567. bool OnFocused, bool NoConfirmation = false, void * Param = NULL);
  568. void __fastcall UpdateCopyParamCounters(const TCopyParamType & CopyParam);
  569. int __fastcall AddSessionColor(TColor Color);
  570. void __fastcall UpdateSessionTab(TTabSheet * TabSheet);
  571. void __fastcall UpdateNewSessionTab();
  572. void __fastcall AddFixedSessionImages();
  573. int __fastcall AddFixedSessionImage(int GlyphsSourceIndex);
  574. TObjectList * __fastcall DoCollectWorkspace();
  575. void __fastcall DoSaveWorkspace(const UnicodeString & Name,
  576. TObjectList * DataList, bool SavePasswords, bool Explicit);
  577. UnicodeString __fastcall WorkspaceName();
  578. virtual bool __fastcall EligibleForImageDisplayMode(TTBCustomItem * Item);
  579. virtual bool __fastcall UpdateToolbarDisplayMode();
  580. virtual void __fastcall QueueLabelUpdateStatus();
  581. void __fastcall EditorAutoConfig();
  582. void __fastcall DirViewContextPopupDefaultItem(
  583. TOperationSide Side, TTBXCustomItem * Item, TDoubleClickAction DoubleClickAction);
  584. void __fastcall DirViewContextPopup(
  585. TOperationSide Side, Byte PopupComponent, const TPoint & MousePos);
  586. bool __fastcall CommandLineFromAnotherInstance(const UnicodeString & CommandLine);
  587. bool __fastcall CanCommandLineFromAnotherInstance();
  588. void __fastcall SetQueueProgress();
  589. void __fastcall UpdateQueueLabel();
  590. void __fastcall SetTaskbarListProgressState(TBPFLAG Flags);
  591. void __fastcall SetTaskbarListProgressValue(TFileOperationProgressType * ProgressData);
  592. TTerminal * __fastcall GetSessionTabTerminal(TTabSheet * TabSheet);
  593. bool __fastcall SessionTabSwitched();
  594. void __fastcall RestoreApp();
  595. void __fastcall GoToQueue();
  596. virtual UnicodeString __fastcall DefaultDownloadTargetDirectory() = 0;
  597. void __fastcall LockFiles(TStrings * FileList, bool Lock);
  598. void __fastcall SaveInternalEditor(
  599. const UnicodeString FileName, TEditedFileData * Data, TObject * Token,
  600. void * Arg);
  601. void __fastcall SaveAllInternalEditors(TObject * Sender);
  602. void __fastcall InternalEditorModified(
  603. const UnicodeString FileName, TEditedFileData * Data, TObject * Token,
  604. void * Arg);
  605. void __fastcall AnyInternalEditorModified(TObject * Sender, bool & Modified);
  606. virtual void __fastcall StartingDisconnected();
  607. void __fastcall DoTerminalListChanged();
  608. void __fastcall NeedSession(bool ReloadSessions);
  609. bool __fastcall DraggingAllFilesFromDirView(TOperationSide Side, TStrings * FileList);
  610. bool __fastcall SelectedAllFilesInDirView(TCustomDirView * DView);
  611. TSessionData * __fastcall SessionDataForCode();
  612. void __fastcall RefreshPanel(const UnicodeString & Session, const UnicodeString & Path);
  613. DYNAMIC void __fastcall ChangeScale(int M, int D);
  614. virtual void __fastcall UpdateImages();
  615. void __fastcall UpdatePixelsPerInchMainWindowCounter();
  616. void __fastcall CopyPopup(TControl * DestControl, TControl * SourceControl);
  617. void __fastcall CreateRemoteDirectory(const UnicodeString & Path, TRemoteProperties & Properties);
  618. void __fastcall DoFullSynchronize(
  619. void * Token, TProcessedSynchronizationChecklistItem OnProcessedItem,
  620. TUpdatedSynchronizationChecklistItems OnUpdatedSynchronizationChecklistItems);
  621. void __fastcall DoSynchronizeChecklistCalculateSize(
  622. TSynchronizeChecklist * Checklist, const TSynchronizeChecklist::TItemList & Items, void * Token);
  623. void __fastcall DoSynchronizeMove(
  624. TOperationSide Side, const UnicodeString & FileName, const UnicodeString & NewFileName, TRemoteFile * RemoteFile);
  625. void __fastcall FullSynchronize(
  626. TSynchronizeParams & Params, TProcessedSynchronizationChecklistItem OnProcessedItem,
  627. TUpdatedSynchronizationChecklistItems OnUpdatedSynchronizationChecklistItems);
  628. void __fastcall SynchronizeProcessedItem(void * Token, const TSynchronizeChecklist::TItem * ChecklistItem);
  629. void __fastcall CreateOpenDirMenuList(TTBCustomItem * Menu, TOperationSide Side, TBookmarkList * BookmarkList);
  630. void __fastcall CreateOpenDirMenu(TTBCustomItem * Menu, TOperationSide Side);
  631. bool __fastcall TryOpenDirectory(TOperationSide Side, const UnicodeString & Path);
  632. void __fastcall ClipboardStop();
  633. void __fastcall ClipboardClear();
  634. void __fastcall ClipboardDownload(const UnicodeString & TargetDirectory, bool NoConfirmation, bool DragDrop);
  635. bool __fastcall DoesClipboardContainOurFiles();
  636. bool __fastcall CanPasteToDirViewFromClipBoard();
  637. public:
  638. virtual __fastcall ~TCustomScpExplorerForm();
  639. void __fastcall AddBookmark(TOperationSide Side);
  640. virtual void __fastcall AddEditLink(TOperationSide Side, bool Add);
  641. bool __fastcall CanAddEditLink(TOperationSide Side);
  642. bool __fastcall LinkFocused();
  643. virtual Boolean __fastcall AllowedAction(TAction * Action, TActionAllowed Allowed);
  644. bool __fastcall IsBusy();
  645. virtual void __fastcall ConfigurationChanged();
  646. void __fastcall CreateDirectory(TOperationSide Side);
  647. void __fastcall ExecuteFileOperationCommand(TFileOperation Operation, TOperationSide Side,
  648. bool OnFocused, bool NoConfirmation = false, void * Param = NULL);
  649. void __fastcall ExecuteCopyOperationCommand(
  650. TOperationSide Side, bool OnFocused, unsigned int Flags);
  651. void __fastcall AdHocCustomCommand(bool OnFocused);
  652. virtual TCustomDirView * __fastcall DirView(TOperationSide Side);
  653. virtual bool __fastcall DirViewEnabled(TOperationSide Side);
  654. virtual void __fastcall ChangePath(TOperationSide Side) = 0;
  655. virtual void __fastcall StoreParams();
  656. int __fastcall CustomCommandState(const TCustomCommandType & Command, bool OnFocused, TCustomCommandListType ListType);
  657. bool __fastcall GetLastCustomCommand(bool OnFocused,
  658. TCustomCommandType & CustomCommand, int & State);
  659. void __fastcall LastCustomCommand(bool OnFocused);
  660. void __fastcall BothCustomCommand(const TCustomCommandType & Command);
  661. void __fastcall LockWindow(bool Force = false);
  662. void __fastcall UnlockWindow();
  663. void __fastcall SuspendWindowLock();
  664. void __fastcall ResumeWindowLock();
  665. void __fastcall NewSession(bool FromSite, const UnicodeString & SessionUrl = L"");
  666. void __fastcall DuplicateSession();
  667. void __fastcall RenameSession();
  668. void __fastcall CloseSession();
  669. void __fastcall OpenDirectory(TOperationSide Side);
  670. virtual void __fastcall HomeDirectory(TOperationSide Side);
  671. void __fastcall ReloadDirectory(TOperationSide Side);
  672. void __fastcall OpenStoredSession(TSessionData * Data);
  673. void __fastcall OpenFolderOrWorkspace(const UnicodeString & Name);
  674. void __fastcall Idle();
  675. __fastcall TCustomScpExplorerForm(TComponent* Owner);
  676. void __fastcall SaveCurrentSession();
  677. UnicodeString __fastcall CreateHiddenDuplicateSession();
  678. TSessionData * __fastcall CloneCurrentSessionData();
  679. bool __fastcall SaveWorkspace(bool EnableAutoSave);
  680. virtual void __fastcall CompareDirectories();
  681. void __fastcall ExecuteCurrentFile();
  682. virtual void __fastcall OpenConsole(UnicodeString Command = L"");
  683. virtual void __fastcall UpdateTerminal(TTerminal * Terminal);
  684. virtual void __fastcall SynchronizeDirectories();
  685. virtual void __fastcall FullSynchronizeDirectories() = 0;
  686. virtual void __fastcall ExploreLocalDirectory();
  687. virtual void __fastcall GoToCommandLine();
  688. virtual void __fastcall GoToTree();
  689. void __fastcall PanelExport(TOperationSide Side, TPanelExport Export,
  690. TPanelExportDestination Destination);
  691. void __fastcall Filter(TOperationSide Side);
  692. void __fastcall ExecuteFile(TOperationSide Side, TExecuteFileBy ExecuteFileBy,
  693. const TEditorData * ExternalEditor = NULL, bool AllSelected = false,
  694. bool OnFocused = false);
  695. void __fastcall ExecuteCurrentFileWith(bool OnFocused);
  696. void __fastcall EditNew(TOperationSide Side);
  697. bool __fastcall AllowQueueOperation(TQueueOperation Operation, void ** Param = NULL);
  698. void __fastcall ExecuteQueueOperation(TQueueOperation Operation, void * Param = NULL);
  699. TQueueOperation __fastcall DefaultQueueOperation();
  700. bool __fastcall GetQueueEnabled();
  701. void __fastcall ToggleQueueEnabled();
  702. UnicodeString __fastcall GetQueueProgressTitle();
  703. void __fastcall LastTerminalClosed(TObject * Sender);
  704. void __fastcall TerminalRemoved(TObject * Sender);
  705. void __fastcall TerminalListChanged(TObject * Sender);
  706. void __fastcall ApplicationTitleChanged();
  707. unsigned int __fastcall MoreMessageDialog(const UnicodeString Message,
  708. TStrings * MoreMessages, TQueryType Type, unsigned int Answers,
  709. UnicodeString HelpKeyword, const TMessageParams * Params = NULL,
  710. TTerminal * Terminal = NULL);
  711. void __fastcall OperationFinished(TFileOperation Operation, TOperationSide Side,
  712. bool Temp, const UnicodeString & FileName, bool Success, TOnceDoneOperation & OnceDoneOperation);
  713. void __fastcall OperationProgress(TFileOperationProgressType & ProgressData);
  714. UnicodeString __fastcall GetProgressTitle();
  715. void __fastcall ShowExtendedException(TTerminal * Terminal, Exception * E);
  716. void __fastcall InactiveTerminalException(TTerminal * Terminal, Exception * E);
  717. void __fastcall TerminalReady();
  718. void __fastcall QueueEvent(TTerminal * Terminal, TTerminalQueue * Queue, TQueueEvent Event);
  719. void __fastcall QueueEmptyNoteClicked(TObject * Sender);
  720. bool __fastcall DoSynchronizeDirectories(UnicodeString & LocalDirectory,
  721. UnicodeString & RemoteDirectory, bool UseDefaults);
  722. int __fastcall DoFullSynchronizeDirectories(UnicodeString & LocalDirectory,
  723. UnicodeString & RemoteDirectory, TSynchronizeMode & Mode, bool & SaveMode,
  724. bool UseDefaults);
  725. void __fastcall StandaloneEdit(const UnicodeString & FileName);
  726. bool __fastcall CanPasteFromClipBoard();
  727. virtual void __fastcall PasteFromClipBoard();
  728. virtual void __fastcall CopyFilesToClipboard(TOperationSide Side);
  729. void __fastcall ToggleQueueVisibility();
  730. virtual UnicodeString __fastcall PathForCaption();
  731. void __fastcall FileListFromClipboard();
  732. void __fastcall SelectAll(TOperationSide Side, TSelectMode Mode);
  733. void __fastcall SelectByMask(TOperationSide Side, bool Select);
  734. void __fastcall RestoreSelectedNames(TOperationSide Side);
  735. void __fastcall SelectSameExt(bool Select);
  736. void __fastcall PreferencesDialog(TPreferencesMode APreferencesMode);
  737. virtual void __fastcall BeforeAction();
  738. void __fastcall FileSystemInfo();
  739. void __fastcall SessionGenerateUrl();
  740. void __fastcall FileGenerateUrl();
  741. void __fastcall ReadDirectoryCancelled();
  742. void __fastcall SynchronizeBrowsingChanged();
  743. void __fastcall ToggleShowHiddenFiles();
  744. void __fastcall SetFormatSizeBytes(TFormatBytesStyle Style);
  745. void __fastcall ToggleAutoReadDirectoryAfterOp();
  746. void __fastcall PopupTrayBalloon(TTerminal * Terminal, const UnicodeString & Str,
  747. TQueryType Type, Exception * E = NULL, unsigned int Seconds = 0,
  748. TNotifyEvent OnBalloonClick = NULL, TObject * UserData = NULL);
  749. void __fastcall RemoteFindFiles();
  750. virtual void __fastcall HistoryGo(TOperationSide Side, int Index);
  751. void __fastcall UpdateTaskbarList(ITaskbarList3 * TaskbarList);
  752. virtual void __fastcall DisplaySystemContextMenu();
  753. virtual void __fastcall GoToAddress() = 0;
  754. bool __fastcall CanConsole();
  755. bool __fastcall CanChangePassword();
  756. void __fastcall ChangePassword();
  757. bool __fastcall CanPrivateKeyUpload();
  758. void __fastcall PrivateKeyUpload();
  759. bool __fastcall IsComponentPossible(Byte Component);
  760. void __fastcall ReplaceTerminal(TTerminal * value);
  761. __property bool ComponentVisible[Byte Component] = { read = GetComponentVisible, write = SetComponentVisible };
  762. __property bool EnableFocusedOperation[TOperationSide Side] = { read = GetEnableFocusedOperation, index = 0 };
  763. __property bool EnableSelectedOperation[TOperationSide Side] = { read = GetEnableSelectedOperation, index = 0 };
  764. __property bool EnableFocusedFileOperation[TOperationSide Side] = { read = GetEnableFocusedOperation, index = 1 };
  765. __property bool EnableSelectedFileOperation[TOperationSide Side] = { read = GetEnableSelectedOperation, index = 1 };
  766. __property bool HasDirView[TOperationSide Side] = { read = GetHasDirView };
  767. __property TTerminal * Terminal = { read = FTerminal, write = SetTerminal };
  768. __property TTerminalQueue * Queue = { read = FQueue, write = SetQueue };
  769. __property TColor SessionColor = { read = FSessionColor, write = SetSessionColor };
  770. };
  771. //---------------------------------------------------------------------------
  772. #endif