1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
#ifndef SYNCDIALOG_H_INCLUDED
#define SYNCDIALOG_H_INCLUDED
#include "guiGenerated.h"
#include "../library/processXml.h"
#include <memory>
class BatchFileDropEvent;
class BatchFolderPairPanel;
namespace FreeFileSync
{
class DragDropOnDlg;
}
class SyncCfgDialog : public SyncCfgDlgGenerated
{
public:
SyncCfgDialog(wxWindow* window,
const FreeFileSync::FolderComparison& folderCmpRef,
FreeFileSync::MainConfiguration& config,
bool& ignoreErrors);
~SyncCfgDialog();
enum
{
BUTTON_OKAY = 10
};
static void updateConfigIcons(const FreeFileSync::CompareVariant compareVar,
const FreeFileSync::SyncConfiguration& syncConfig,
wxBitmapButton* buttonLeftOnly,
wxBitmapButton* buttonRightOnly,
wxBitmapButton* buttonLeftNewer,
wxBitmapButton* buttonRightNewer,
wxBitmapButton* buttonDifferent,
wxStaticBitmap* bitmapLeftOnly,
wxStaticBitmap* bitmapRightOnly,
wxStaticBitmap* bitmapLeftNewer,
wxStaticBitmap* bitmapRightNewer,
wxStaticBitmap* bitmapDifferent);
//some syntax relaxation
void updateConfigIcons(const FreeFileSync::CompareVariant cmpVar, const FreeFileSync::SyncConfiguration& syncConfig);
private:
void OnSyncLeftToRight( wxCommandEvent& event);
void OnSyncUpdate( wxCommandEvent& event);
void OnSyncBothSides( wxCommandEvent& event);
void OnExLeftSideOnly( wxCommandEvent& event);
void OnExRightSideOnly( wxCommandEvent& event);
void OnLeftNewer( wxCommandEvent& event);
void OnRightNewer( wxCommandEvent& event);
void OnDifferent( wxCommandEvent& event);
void OnClose( wxCloseEvent& event);
void OnCancel( wxCommandEvent& event);
void OnApply( wxCommandEvent& event);
//error handling
bool getErrorHandling();
void setErrorHandling(bool ignoreErrors);
void OnChangeErrorHandling(wxCommandEvent& event);
//deletion handling
FreeFileSync::DeletionPolicy getDeletionHandling();
void setDeletionHandling(FreeFileSync::DeletionPolicy newValue);
void OnChangeDeletionHandling(wxCommandEvent& event);
//temporal copy of maindialog.cfg.syncConfiguration
FreeFileSync::SyncConfiguration localSyncConfiguration;
const FreeFileSync::FolderComparison& folderCmp;
FreeFileSync::MainConfiguration& cfg;
bool& m_ignoreErrors;
std::auto_ptr<FreeFileSync::DragDropOnDlg> dragDropCustomDelFolder;
};
class BatchDialog: public BatchDlgGenerated
{
friend class BatchFileDropEvent;
public:
BatchDialog(wxWindow* window, const xmlAccess::XmlBatchConfig& batchCfg);
BatchDialog(wxWindow* window, const wxString& filename);
~BatchDialog() {};
enum
{
BATCH_FILE_SAVED = 15
};
private:
void init();
virtual void OnExLeftSideOnly( wxCommandEvent& event);
virtual void OnExRightSideOnly( wxCommandEvent& event);
virtual void OnLeftNewer( wxCommandEvent& event);
virtual void OnRightNewer( wxCommandEvent& event);
virtual void OnDifferent( wxCommandEvent& event);
virtual void OnCheckFilter( wxCommandEvent& event);
virtual void OnCheckLogging( wxCommandEvent& event);
virtual void OnChangeCompareVar( wxCommandEvent& event);
virtual void OnClose( wxCloseEvent& event);
virtual void OnCancel( wxCommandEvent& event);
virtual void OnSaveBatchJob( wxCommandEvent& event);
virtual void OnLoadBatchJob( wxCommandEvent& event);
virtual void OnAddFolderPair( wxCommandEvent& event);
virtual void OnRemoveFolderPair( wxCommandEvent& event);
virtual void OnRemoveTopFolderPair(wxCommandEvent& event);
void addFolderPair(const std::vector<FreeFileSync::FolderPair>& newPairs, bool addFront = false);
void removeAddFolderPair(const int pos);
void clearAddFolderPairs();
std::vector<FreeFileSync::FolderPair> getFolderPairs() const;
FreeFileSync::CompareVariant getCurrentCompareVar();
void updateConfigIcons(const FreeFileSync::CompareVariant cmpVar, const FreeFileSync::SyncConfiguration& syncConfig);
void updateVisibleTabs();
void showNotebookpage(wxWindow* page, const wxString& pageName, bool show);
//error handling
xmlAccess::OnError getSelectionHandleError();
void setSelectionHandleError(const xmlAccess::OnError value);
void OnChangeErrorHandling(wxCommandEvent& event);
//deletion handling
FreeFileSync::DeletionPolicy getDeletionHandling();
void setDeletionHandling(FreeFileSync::DeletionPolicy newValue);
void OnChangeDeletionHandling(wxCommandEvent& event);
bool saveBatchFile(const wxString& filename);
void loadBatchFile(const wxString& filename);
void loadBatchCfg(const xmlAccess::XmlBatchConfig& batchCfg);
FreeFileSync::SyncConfiguration localSyncConfiguration;
std::vector<BatchFolderPairPanel*> additionalFolderPairs;
//used when saving batch file
wxString proposedBatchFileName;
//add drag & drop support when selecting logfile directory
std::auto_ptr<FreeFileSync::DragDropOnDlg> dragDropOnLogfileDir;
//support for drag and drop on main pair
std::auto_ptr<FreeFileSync::DragDropOnDlg> dragDropOnLeft;
std::auto_ptr<FreeFileSync::DragDropOnDlg> dragDropOnRight;
std::auto_ptr<FreeFileSync::DragDropOnDlg> dragDropCustomDelFolder;
};
#endif // SYNCDIALOG_H_INCLUDED
|