FullSynchronize.h 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. //---------------------------------------------------------------------------
  2. #ifndef FullSynchronizeH
  3. #define FullSynchronizeH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <Controls.hpp>
  7. #include <StdCtrls.hpp>
  8. #include <Forms.hpp>
  9. #include <HistoryComboBox.hpp>
  10. #include <Vcl.ExtCtrls.hpp>
  11. #include <Vcl.Imaging.pngimage.hpp>
  12. #include <Vcl.Menus.hpp>
  13. //---------------------------------------------------------------------------
  14. #include <WinInterface.h>
  15. #include <CopyParam.h>
  16. #include <GUITools.h>
  17. //---------------------------------------------------------------------------
  18. class TFullSynchronizeDialog : public TForm
  19. {
  20. __published:
  21. TGroupBox *DirectoriesGroup;
  22. TButton *OkButton;
  23. TButton *CancelButton;
  24. TLabel *LocalDirectoryLabel;
  25. TLabel *RemoteDirectoryLabel;
  26. THistoryComboBox *RemoteDirectoryEdit;
  27. THistoryComboBox *LocalDirectoryEdit;
  28. TGroupBox *OptionsGroup;
  29. TCheckBox *SynchronizeDeleteCheck;
  30. TCheckBox *SynchronizeSelectedOnlyCheck;
  31. TButton *LocalDirectoryBrowseButton;
  32. TCheckBox *SynchronizeExistingOnlyCheck;
  33. TButton *TransferSettingsButton;
  34. TCheckBox *SynchronizePreviewChangesCheck;
  35. TGroupBox *DirectionGroup;
  36. TRadioButton *SynchronizeBothButton;
  37. TRadioButton *SynchronizeRemoteButton;
  38. TRadioButton *SynchronizeLocalButton;
  39. TGroupBox *CompareCriterionsGroup;
  40. TCheckBox *SynchronizeByTimeCheck;
  41. TCheckBox *SynchronizeBySizeCheck;
  42. TCheckBox *SaveSettingsCheck;
  43. TGroupBox *CopyParamGroup;
  44. TLabel *CopyParamLabel;
  45. TButton *HelpButton;
  46. TGroupBox *ModeGroup;
  47. TRadioButton *SynchronizeFilesButton;
  48. TRadioButton *MirrorFilesButton;
  49. TRadioButton *SynchronizeTimestampsButton;
  50. TImage *Image;
  51. TPopupMenu *OkMenu;
  52. TMenuItem *Start1;
  53. TMenuItem *StartInNewWindowItem;
  54. TCheckBox *SynchronizeCaseSensitiveCheck;
  55. TCheckBox *SynchronizeByChecksumCheck;
  56. void __fastcall ControlChange(TObject *Sender);
  57. void __fastcall LocalDirectoryBrowseButtonClick(TObject *Sender);
  58. void __fastcall TransferSettingsButtonClick(TObject *Sender);
  59. void __fastcall FormShow(TObject *Sender);
  60. void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
  61. void __fastcall CopyParamGroupContextPopup(TObject *Sender,
  62. TPoint &MousePos, bool &Handled);
  63. void __fastcall CopyParamGroupClick(TObject *Sender);
  64. void __fastcall HelpButtonClick(TObject *Sender);
  65. void __fastcall TransferSettingsButtonDropDownClick(TObject *Sender);
  66. void __fastcall Start1Click(TObject *Sender);
  67. void __fastcall OkButtonDropDownClick(TObject *Sender);
  68. void __fastcall OkButtonClick(TObject *Sender);
  69. void __fastcall StartInNewWindowItemClick(TObject *Sender);
  70. private:
  71. int FParams;
  72. bool FSaveMode;
  73. TSynchronizeMode FOrigMode;
  74. int FOptions;
  75. TUsableCopyParamAttrs FCopyParamAttrs;
  76. TCopyParamType FCopyParams;
  77. TPopupMenu * FPresetsMenu;
  78. UnicodeString FPreset;
  79. UnicodeString FSynchronizeBySizeCaption;
  80. TFullSynchronizeInNewWindow FOnFullSynchronizeInNewWindow;
  81. void __fastcall SetRemoteDirectory(const UnicodeString value);
  82. UnicodeString __fastcall GetRemoteDirectory();
  83. void __fastcall SetLocalDirectory(const UnicodeString value);
  84. UnicodeString __fastcall GetLocalDirectory();
  85. void __fastcall SetMode(TSynchronizeMode value);
  86. TSynchronizeMode __fastcall GetMode();
  87. void __fastcall SetParams(int value);
  88. int __fastcall GetParams();
  89. void __fastcall SetSaveSettings(bool value);
  90. bool __fastcall GetSaveSettings();
  91. void __fastcall SetCopyParams(const TCopyParamType & value);
  92. TCopyParamType __fastcall GetCopyParams();
  93. void __fastcall CopyParamClick(TObject * Sender);
  94. int __fastcall ActualCopyParamAttrs();
  95. void __fastcall CopyParamListPopup(TRect R, int AdditionalOptions);
  96. bool __fastcall AllowStartInNewWindow();
  97. bool __fastcall CanStartInNewWindow();
  98. void __fastcall Submitted();
  99. void __fastcall StartInNewWindow();
  100. public:
  101. __fastcall TFullSynchronizeDialog(TComponent* Owner);
  102. virtual __fastcall ~TFullSynchronizeDialog();
  103. void __fastcall Init(
  104. int Options, const TUsableCopyParamAttrs & CopyParamAttrs, TFullSynchronizeInNewWindow OnFullSynchronizeInNewWindow);
  105. bool __fastcall Execute();
  106. __property UnicodeString RemoteDirectory = { read = GetRemoteDirectory, write = SetRemoteDirectory };
  107. __property UnicodeString LocalDirectory = { read = GetLocalDirectory, write = SetLocalDirectory };
  108. __property int Params = { read = GetParams, write = SetParams };
  109. __property TSynchronizeMode Mode = { read = GetMode, write = SetMode };
  110. __property bool SaveSettings = { read = GetSaveSettings, write = SetSaveSettings };
  111. __property bool SaveMode = { read = FSaveMode, write = FSaveMode };
  112. __property TCopyParamType CopyParams = { read = GetCopyParams, write = SetCopyParams };
  113. protected:
  114. void __fastcall UpdateControls();
  115. INTERFACE_HOOK;
  116. };
  117. //---------------------------------------------------------------------------
  118. #endif