summaryrefslogtreecommitdiff
path: root/ui/SyncDialog.h
blob: 036e9b6f3dcd5aeb249a05abc3749ce4a5dbef8b (plain)
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
#ifndef SYNCDIALOG_H_INCLUDED
#define SYNCDIALOG_H_INCLUDED

#include "../FreeFileSync.h"
#include "guiGenerated.h"

using namespace FreeFileSync;


class SyncDialog: public SyncDlgGenerated
{
public:
    SyncDialog(wxWindow* window,
               const FileCompareResult& gridDataRef,
               MainConfiguration& config,
               bool synchronizationEnabled);

    ~SyncDialog();

    enum
     {
         BUTTON_START = 15
     };

    static void updateConfigIcons(wxBitmapButton* button1,
                                  wxBitmapButton* button2,
                                  wxBitmapButton* button3,
                                  wxBitmapButton* button4,
                                  wxBitmapButton* button5,
                                  const SyncConfiguration& syncConfig);

    static void adjustToolTips(wxStaticBitmap* bitmap, const CompareVariant var);

private:
    void calculatePreview();

    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 OnStartSync(       wxCommandEvent& event);
    void OnClose(           wxCloseEvent&   event);
    void OnBack(            wxCommandEvent& event);
    void OnCancel(          wxCommandEvent& event);

    void OnSelectRecycleBin(wxCommandEvent& event);

    //temporal copy of maindialog.cfg.syncConfiguration
    SyncConfiguration localSyncConfiguration;
    const FileCompareResult& gridData;
    MainConfiguration& cfg;
};


class BatchDialog: public BatchDlgGenerated
{
public:
    BatchDialog(wxWindow* window,
                const MainConfiguration& config,
                const vector<FolderPair>& folderPairs);

    ~BatchDialog();

    static const int batchFileCreated = 15;

private:
    void OnExLeftSideOnly(  wxCommandEvent& event);
    void OnExRightSideOnly( wxCommandEvent& event);
    void OnLeftNewer(       wxCommandEvent& event);
    void OnRightNewer(      wxCommandEvent& event);
    void OnDifferent(       wxCommandEvent& event);

    void OnFilterButton(    wxCommandEvent& event);
    void OnSelectRecycleBin(wxCommandEvent& event);
    void OnChangeCompareVar(wxCommandEvent& event);

    void OnClose(           wxCloseEvent&   event);
    void OnCancel(          wxCommandEvent& event);
    void OnCreateBatchJob(  wxCommandEvent& event);

    void updateFilterButton();

    bool createBatchFile(const wxString& filename);

    SyncConfiguration localSyncConfiguration;
    vector<BatchFolderPairGenerated*> localFolderPairs;

    bool filterIsActive;
};

#endif // SYNCDIALOG_H_INCLUDED
bgstack15