Synchronize.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. //---------------------------------------------------------------------------
  2. #ifndef SynchronizeH
  3. #define SynchronizeH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <HistoryComboBox.hpp>
  10. #include <WinInterface.h>
  11. #include "GrayedCheckBox.hpp"
  12. #include <ComCtrls.hpp>
  13. #include <ExtCtrls.hpp>
  14. #include <Vcl.Imaging.pngimage.hpp>
  15. //---------------------------------------------------------------------------
  16. class TSynchronizeDialog : public TForm
  17. {
  18. __published:
  19. TGroupBox *DirectoriesGroup;
  20. TButton *StopButton;
  21. TButton *CancelButton;
  22. TLabel *LocalDirectoryLabel;
  23. TLabel *RemoteDirectoryLabel;
  24. THistoryComboBox *RemoteDirectoryEdit;
  25. THistoryComboBox *LocalDirectoryEdit;
  26. TGroupBox *OptionsGroup;
  27. TCheckBox *SynchronizeDeleteCheck;
  28. TButton *LocalDirectoryBrowseButton;
  29. TCheckBox *SaveSettingsCheck;
  30. TCheckBox *SynchronizeExistingOnlyCheck;
  31. TButton *StartButton;
  32. TButton *MinimizeButton;
  33. TButton *TransferSettingsButton;
  34. TCheckBox *SynchronizeRecursiveCheck;
  35. TGrayedCheckBox *SynchronizeSynchronizeCheck;
  36. TGroupBox *CopyParamGroup;
  37. TLabel *CopyParamLabel;
  38. TButton *HelpButton;
  39. TCheckBox *SynchronizeSelectedOnlyCheck;
  40. TPanel *LogPanel;
  41. TListView *LogView;
  42. TImage *Image;
  43. void __fastcall ControlChange(TObject *Sender);
  44. void __fastcall LocalDirectoryBrowseButtonClick(TObject *Sender);
  45. void __fastcall TransferSettingsButtonClick(TObject *Sender);
  46. void __fastcall StartButtonClick(TObject *Sender);
  47. void __fastcall StopButtonClick(TObject *Sender);
  48. void __fastcall MinimizeButtonClick(TObject *Sender);
  49. void __fastcall FormShow(TObject *Sender);
  50. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  51. void __fastcall CopyParamGroupContextPopup(TObject *Sender,
  52. TPoint &MousePos, bool &Handled);
  53. void __fastcall CopyParamGroupClick(TObject *Sender);
  54. void __fastcall HelpButtonClick(TObject *Sender);
  55. void __fastcall LogViewKeyDown(TObject *Sender, WORD &Key,
  56. TShiftState Shift);
  57. void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
  58. TShiftState Shift);
  59. void __fastcall TransferSettingsButtonDropDownClick(TObject *Sender);
  60. private:
  61. TSynchronizeParamType FParams;
  62. TSynchronizeStartStopEvent FOnStartStop;
  63. TGetSynchronizeOptionsEvent FOnGetOptions;
  64. int FOptions;
  65. int FCopyParamAttrs;
  66. bool FSynchronizing;
  67. bool FMinimizedByMe;
  68. bool FAbort;
  69. bool FClose;
  70. bool FStartImmediatelly;
  71. TCopyParamType FCopyParams;
  72. TPopupMenu * FPresetsMenu;
  73. UnicodeString FPreset;
  74. TSynchronizeOptions * FSynchronizeOptions;
  75. static const MaxLogItems;
  76. void __fastcall SetParams(const TSynchronizeParamType& value);
  77. TSynchronizeParamType __fastcall GetParams();
  78. void __fastcall SetSaveSettings(bool value);
  79. bool __fastcall GetSaveSettings();
  80. void __fastcall SetCopyParams(const TCopyParamType & value);
  81. TCopyParamType __fastcall GetCopyParams();
  82. void __fastcall SetOptions(int value);
  83. protected:
  84. void __fastcall DoStartStop(bool Start, bool Synchronize);
  85. void __fastcall DoAbort(TObject * Sender, bool Close);
  86. void __fastcall DoLog(TSynchronizeController * Controller, TSynchronizeLogEntry Entry,
  87. const UnicodeString Message);
  88. void __fastcall OnlyStop();
  89. void __fastcall Stop();
  90. virtual void __fastcall Dispatch(void * Message);
  91. void __fastcall CopyParamClick(TObject * Sender);
  92. void __fastcall ClearLog();
  93. void __fastcall CopyLog();
  94. int __fastcall ActualCopyParamAttrs();
  95. void __fastcall GlobalMinimize(TObject * Sender);
  96. void __fastcall CopyParamListPopup(TRect R, int AdditionalOptions);
  97. public:
  98. __fastcall TSynchronizeDialog(TComponent * Owner,
  99. TSynchronizeStartStopEvent OnStartStop, TGetSynchronizeOptionsEvent OnGetOptions,
  100. bool StartImmediatelly);
  101. virtual __fastcall ~TSynchronizeDialog();
  102. bool __fastcall Execute();
  103. __property TSynchronizeParamType Params = { read = GetParams, write = SetParams };
  104. __property bool SaveSettings = { read = GetSaveSettings, write = SetSaveSettings };
  105. __property int Options = { read = FOptions, write = SetOptions };
  106. __property int CopyParamAttrs = { read = FCopyParamAttrs, write = FCopyParamAttrs };
  107. __property TCopyParamType CopyParams = { read = GetCopyParams, write = SetCopyParams };
  108. protected:
  109. void __fastcall UpdateControls();
  110. };
  111. //---------------------------------------------------------------------------
  112. #endif