123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- //---------------------------------------------------------------------------
- #ifndef SynchronizeH
- #define SynchronizeH
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <Controls.hpp>
- #include <StdCtrls.hpp>
- #include <Forms.hpp>
- #include <HistoryComboBox.hpp>
- #include "GrayedCheckBox.hpp"
- #include <ComCtrls.hpp>
- #include <ExtCtrls.hpp>
- #include <Vcl.Imaging.pngimage.hpp>
- #include <Vcl.Menus.hpp>
- //---------------------------------------------------------------------------
- #include <WinInterface.h>
- #include <GUITools.h>
- //---------------------------------------------------------------------------
- struct TLogItemData;
- //---------------------------------------------------------------------------
- class TSynchronizeDialog : public TForm
- {
- __published:
- TGroupBox *DirectoriesGroup;
- TButton *StopButton;
- TButton *CancelButton;
- TLabel *LocalDirectoryLabel;
- TLabel *RemoteDirectoryLabel;
- THistoryComboBox *RemoteDirectoryEdit;
- THistoryComboBox *LocalDirectoryEdit;
- TGroupBox *OptionsGroup;
- TCheckBox *SynchronizeDeleteCheck;
- TButton *LocalDirectoryBrowseButton;
- TCheckBox *SaveSettingsCheck;
- TCheckBox *SynchronizeExistingOnlyCheck;
- TButton *StartButton;
- TButton *MinimizeButton;
- TButton *TransferSettingsButton;
- TCheckBox *SynchronizeRecursiveCheck;
- TGrayedCheckBox *SynchronizeSynchronizeCheck;
- TGroupBox *CopyParamGroup;
- TLabel *CopyParamLabel;
- TButton *HelpButton;
- TCheckBox *SynchronizeSelectedOnlyCheck;
- TPanel *LogPanel;
- TListView *LogView;
- TImage *Image;
- TCheckBox *ContinueOnErrorCheck;
- TPopupMenu *MinimizeMenu;
- TMenuItem *Minimize1;
- TMenuItem *MinimizetoTray1;
- TPopupMenu *StartMenu;
- TMenuItem *Start1;
- TMenuItem *StartInNewWindowItem;
- void __fastcall ControlChange(TObject *Sender);
- void __fastcall LocalDirectoryBrowseButtonClick(TObject *Sender);
- void __fastcall TransferSettingsButtonClick(TObject *Sender);
- void __fastcall StartButtonClick(TObject *Sender);
- void __fastcall StopButtonClick(TObject *Sender);
- void __fastcall MinimizeButtonClick(TObject *Sender);
- void __fastcall FormShow(TObject *Sender);
- void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
- void __fastcall CopyParamGroupContextPopup(TObject *Sender,
- TPoint &MousePos, bool &Handled);
- void __fastcall CopyParamGroupClick(TObject *Sender);
- void __fastcall HelpButtonClick(TObject *Sender);
- void __fastcall LogViewKeyDown(TObject *Sender, WORD &Key,
- TShiftState Shift);
- void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
- TShiftState Shift);
- void __fastcall TransferSettingsButtonDropDownClick(TObject *Sender);
- void __fastcall LogViewCustomDrawItem(TCustomListView *Sender, TListItem *Item,
- TCustomDrawState State, bool &DefaultDraw);
- void __fastcall LogViewDeletion(TObject *Sender, TListItem *Item);
- void __fastcall LogViewDblClick(TObject *Sender);
- void __fastcall Minimize1Click(TObject *Sender);
- void __fastcall MinimizetoTray1Click(TObject *Sender);
- void __fastcall MinimizeButtonDropDownClick(TObject *Sender);
- void __fastcall StartInNewWindowItemClick(TObject *Sender);
- void __fastcall StartButtonDropDownClick(TObject *Sender);
- private:
- TSynchronizeParamType FParams;
- TSynchronizeStartStopEvent FOnStartStop;
- TGetSynchronizeOptionsEvent FOnGetOptions;
- TSynchronizeSessionLog FOnSynchronizeSessionLog;
- int FOptions;
- int FCopyParamAttrs;
- bool FSynchronizing;
- bool FMinimizedByMe;
- bool FAbort;
- bool FClose;
- bool FStartImmediately;
- TCopyParamType FCopyParams;
- TPopupMenu * FPresetsMenu;
- UnicodeString FPreset;
- TSynchronizeOptions * FSynchronizeOptions;
- TFeedSynchronizeError * FOnFeedSynchronizeError;
- TSynchronizeInNewWindow FOnSynchronizeInNewWindow;
- static const MaxLogItems;
- void __fastcall SetParams(const TSynchronizeParamType& value);
- TSynchronizeParamType __fastcall GetParams();
- void __fastcall SetSaveSettings(bool value);
- bool __fastcall GetSaveSettings();
- void __fastcall SetCopyParams(const TCopyParamType & value);
- TCopyParamType __fastcall GetCopyParams();
- void __fastcall SetOptions(int value);
- protected:
- void __fastcall DoStartStop(bool Start, bool Synchronize);
- void __fastcall DoAbort(TObject * Sender, bool Close);
- void __fastcall DoLogInternal(TSynchronizeLogEntry Entry, const UnicodeString & Message,
- TStrings * MoreMessages, TQueryType Type, const UnicodeString & HelpKeyword);
- void __fastcall DoLog(TSynchronizeController * Controller, TSynchronizeLogEntry Entry,
- const UnicodeString Message);
- void __fastcall OnlyStop();
- void __fastcall Stop();
- virtual void __fastcall Dispatch(void * Message);
- void __fastcall CopyParamClick(TObject * Sender);
- void __fastcall ClearLog();
- void __fastcall CopyLog();
- int __fastcall ActualCopyParamAttrs();
- void __fastcall GlobalMinimize(TObject * Sender);
- void __fastcall CopyParamListPopup(TRect R, int AdditionalOptions);
- void __fastcall FeedSynchronizeError(
- const UnicodeString & Message, TStrings * MoreMessages, TQueryType Type,
- const UnicodeString & HelpKeyword);
- void __fastcall SynchronizeAbort(TObject *);
- TLogItemData * __fastcall GetLogItemData(TListItem * Item);
- void __fastcall Minimize(TObject * Sender);
- void __fastcall Start();
- void __fastcall StartInNewWindow();
- void __fastcall SaveHistory();
- void __fastcall UpdateControls();
- bool __fastcall AllowStartInNewWindow();
- bool __fastcall CanStartInNewWindow();
- void Abort(bool Close);
- INTERFACE_HOOK;
- public:
- __fastcall TSynchronizeDialog(TComponent * Owner);
- void __fastcall Init(TSynchronizeStartStopEvent OnStartStop,
- TGetSynchronizeOptionsEvent OnGetOptions,
- TSynchronizeSessionLog OnSynchronizeSessionLog,
- TFeedSynchronizeError & OnFeedSynchronizeError,
- TNotifyEvent & OnSynchronizeAbort,
- TSynchronizeInNewWindow OnSynchronizeInNewWindow,
- int AutoSubmit);
- virtual __fastcall ~TSynchronizeDialog();
- bool __fastcall Execute();
- __property TSynchronizeParamType Params = { read = GetParams, write = SetParams };
- __property bool SaveSettings = { read = GetSaveSettings, write = SetSaveSettings };
- __property int Options = { read = FOptions, write = SetOptions };
- __property int CopyParamAttrs = { read = FCopyParamAttrs, write = FCopyParamAttrs };
- __property TCopyParamType CopyParams = { read = GetCopyParams, write = SetCopyParams };
- };
- //---------------------------------------------------------------------------
- #endif
|