diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/MainDialog.cpp | 505 | ||||
-rw-r--r-- | ui/MainDialog.h | 30 | ||||
-rw-r--r-- | ui/SmallDialogs.cpp | 18 | ||||
-rw-r--r-- | ui/SmallDialogs.h | 3 | ||||
-rw-r--r-- | ui/SyncDialog.cpp | 8 | ||||
-rw-r--r-- | ui/SyncDialog.h | 6 | ||||
-rw-r--r-- | ui/guiGenerated.cpp | 277 | ||||
-rw-r--r-- | ui/guiGenerated.h | 30 |
8 files changed, 492 insertions, 385 deletions
diff --git a/ui/MainDialog.cpp b/ui/MainDialog.cpp index 818eff1c..7c74454f 100644 --- a/ui/MainDialog.cpp +++ b/ui/MainDialog.cpp @@ -12,7 +12,7 @@ #include "../library/globalFunctions.h" #include <wx/wfstream.h> #include <wx/clipbrd.h> -#include <wx/file.h> +#include <wx/ffile.h> #include "../library/customGrid.h" #include <algorithm> #include "../library/sorting.h" @@ -25,10 +25,10 @@ using namespace globalFunctions; using namespace xmlAccess; -int leadingPanel = 0; +extern const wxGrid* leadGrid = NULL; MainDialog::MainDialog(wxFrame* frame, const wxString& cfgFileName, CustomLocale* language, xmlAccess::XmlGlobalSettings& settings) : - GuiGenerated(frame), + MainDialogGenerated(frame), globalSettings(settings), programLanguage(language), filteringInitialized(false), @@ -82,7 +82,7 @@ MainDialog::MainDialog(wxFrame* frame, const wxString& cfgFileName, CustomLocale m_menuItem7->SetBitmap(*globalResource.bitmapBatchSmall); m_menuItemAdjustTimes->SetBitmap(*globalResource.bitmapClockSmall); - //small hack to update menu items: actually this is a wxWidgets bug (affects Windows- and Linux-build) + //Workaround for wxWidgets: small hack to update menu items: actually this is a wxWidgets bug (affects Windows- and Linux-build) m_menu1->Remove(m_menuItem10); m_menu1->Remove(m_menuItem11); m_menu1->Insert(0, m_menuItem10); @@ -107,39 +107,39 @@ MainDialog::MainDialog(wxFrame* frame, const wxString& cfgFileName, CustomLocale contextMenu = new wxMenu; //support for CTRL + C and DEL - m_gridLeft->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::onGrid1ButtonEvent), NULL, this); - m_gridRight->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::onGrid2ButtonEvent), NULL, this); - m_gridMiddle->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::onGrid3ButtonEvent), NULL, this); + m_gridLeft->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::onGridLeftButtonEvent), NULL, this); + m_gridRight->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::onGridRightButtonEvent), NULL, this); + m_gridMiddle->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::onGridMiddleButtonEvent), NULL, this); //identify leading grid by keyboard input or scroll action - m_gridLeft->Connect(wxEVT_KEY_DOWN, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_SCROLLWIN_TOP, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_SCROLLWIN_BOTTOM, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_SCROLLWIN_LINEUP, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_SCROLLWIN_LINEDOWN, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_SCROLLWIN_PAGEUP, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_SCROLLWIN_PAGEDOWN, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_SCROLLWIN_THUMBTRACK, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_SCROLLWIN_THUMBRELEASE, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->Connect(wxEVT_GRID_LABEL_LEFT_CLICK, wxEventHandler(MainDialog::onGrid1access), NULL, this); - m_gridLeft->GetGridWindow()->Connect(wxEVT_LEFT_DOWN, wxEventHandler(MainDialog::onGrid1access), NULL, this); - - m_gridRight->Connect(wxEVT_KEY_DOWN, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_SCROLLWIN_TOP, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_SCROLLWIN_BOTTOM, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_SCROLLWIN_LINEUP, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_SCROLLWIN_LINEDOWN, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_SCROLLWIN_PAGEUP, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_SCROLLWIN_PAGEDOWN, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_SCROLLWIN_THUMBTRACK, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_SCROLLWIN_THUMBRELEASE, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->Connect(wxEVT_GRID_LABEL_LEFT_CLICK, wxEventHandler(MainDialog::onGrid2access), NULL, this); - m_gridRight->GetGridWindow()->Connect(wxEVT_LEFT_DOWN, wxEventHandler(MainDialog::onGrid2access), NULL, this); - - m_gridMiddle->Connect(wxEVT_KEY_DOWN, wxEventHandler(MainDialog::onGrid3access), NULL, this); - m_gridMiddle->Connect(wxEVT_SCROLLWIN_LINEUP, wxEventHandler(MainDialog::onGrid3access), NULL, this); - m_gridMiddle->Connect(wxEVT_SCROLLWIN_LINEDOWN, wxEventHandler(MainDialog::onGrid3access), NULL, this); - m_gridMiddle->GetGridWindow()->Connect(wxEVT_LEFT_DOWN, wxEventHandler(MainDialog::onGrid3access), NULL, this); + m_gridLeft->Connect(wxEVT_KEY_DOWN, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_SCROLLWIN_TOP, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_SCROLLWIN_BOTTOM, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_SCROLLWIN_LINEUP, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_SCROLLWIN_LINEDOWN, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_SCROLLWIN_PAGEUP, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_SCROLLWIN_PAGEDOWN, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_SCROLLWIN_THUMBTRACK, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_SCROLLWIN_THUMBRELEASE, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->Connect(wxEVT_GRID_LABEL_LEFT_CLICK, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + m_gridLeft->GetGridWindow()->Connect(wxEVT_LEFT_DOWN, wxEventHandler(MainDialog::onGridLeftAccess), NULL, this); + + m_gridRight->Connect(wxEVT_KEY_DOWN, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_SCROLLWIN_TOP, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_SCROLLWIN_BOTTOM, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_SCROLLWIN_LINEUP, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_SCROLLWIN_LINEDOWN, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_SCROLLWIN_PAGEUP, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_SCROLLWIN_PAGEDOWN, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_SCROLLWIN_THUMBTRACK, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_SCROLLWIN_THUMBRELEASE, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->Connect(wxEVT_GRID_LABEL_LEFT_CLICK, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + m_gridRight->GetGridWindow()->Connect(wxEVT_LEFT_DOWN, wxEventHandler(MainDialog::onGridRightAccess), NULL, this); + + m_gridMiddle->Connect(wxEVT_KEY_DOWN, wxEventHandler(MainDialog::onGridMiddleAccess), NULL, this); + m_gridMiddle->Connect(wxEVT_SCROLLWIN_LINEUP, wxEventHandler(MainDialog::onGridMiddleAccess), NULL, this); + m_gridMiddle->Connect(wxEVT_SCROLLWIN_LINEDOWN, wxEventHandler(MainDialog::onGridMiddleAccess), NULL, this); + m_gridMiddle->GetGridWindow()->Connect(wxEVT_LEFT_DOWN, wxEventHandler(MainDialog::onGridMiddleAccess), NULL, this); Connect(wxEVT_IDLE, wxEventHandler(MainDialog::OnIdleEvent), NULL, this); m_gridMiddle->GetGridWindow()->Connect(wxEVT_LEFT_UP, wxEventHandler(MainDialog::OnGrid3LeftMouseUp), NULL, this); @@ -148,8 +148,9 @@ MainDialog::MainDialog(wxFrame* frame, const wxString& cfgFileName, CustomLocale Connect(wxEVT_SIZE, wxEventHandler(MainDialog::onResizeMainWindow), NULL, this); Connect(wxEVT_MOVE, wxEventHandler(MainDialog::onResizeMainWindow), NULL, this); - wxString toolTip = wxString(_("Legend\n")) + - _("---------\n") + + const wxString header = _("Legend"); + wxString toolTip = header + wxT("\n") + + wxString().Pad(header.Len(), wxChar('-')) + wxT("\n") + _("<| file on left side only\n") + _("|> file on right side only\n") + _("<< left file is newer\n") + @@ -164,7 +165,7 @@ MainDialog::MainDialog(wxFrame* frame, const wxString& cfgFileName, CustomLocale m_gridRight->setScrollFriends(m_gridLeft, m_gridRight, m_gridMiddle); m_gridMiddle->setScrollFriends(m_gridLeft, m_gridRight, m_gridMiddle); - //share UI grid data with grids + //share data with GUI grids m_gridLeft->setGridDataTable(&gridRefUI, ¤tGridData); m_gridRight->setGridDataTable(&gridRefUI, ¤tGridData); m_gridMiddle->setGridDataTable(&gridRefUI, ¤tGridData); @@ -177,7 +178,7 @@ MainDialog::MainDialog(wxFrame* frame, const wxString& cfgFileName, CustomLocale cellAttributes->SetAlignment(wxALIGN_RIGHT,wxALIGN_CENTRE); m_gridLeft->SetColAttr(2, cellAttributes); - cellAttributes = m_gridRight->GetOrCreateCellAttr(0, 2); //leave these two rows, might be necessary 'cause wxGridCellAttr is ref-counting + cellAttributes = m_gridRight->GetOrCreateCellAttr(0, 2); //leave these two rows, might be necessary 'cause wxGridCellAttr is ref-counting cellAttributes->SetAlignment(wxALIGN_RIGHT,wxALIGN_CENTRE); //and SetColAttr takes ownership (means: it will call DecRef()) m_gridRight->SetColAttr(2, cellAttributes); @@ -218,6 +219,9 @@ MainDialog::MainDialog(wxFrame* frame, const wxString& cfgFileName, CustomLocale case wxLANGUAGE_DUTCH: m_menuItemDutch->Check(); break; + case wxLANGUAGE_CHINESE_SIMPLIFIED: + m_menuItemChineseSimple->Check(); + break; default: m_menuItemEnglish->Check(); } @@ -234,10 +238,6 @@ MainDialog::MainDialog(wxFrame* frame, const wxString& cfgFileName, CustomLocale int spaceToAdd = source.GetX() - target.GetX(); bSizerMiddle->Insert(1, spaceToAdd / 2, 0, 0); bSizerMiddle->Insert(0, spaceToAdd - (spaceToAdd / 2), 0, 0); - - //adjust folder pair buttons - if (additionalFolderPairs.size() <= 0) - m_bpButtonRemovePair->Disable(); } @@ -306,18 +306,35 @@ void MainDialog::readGlobalSettings() for (int i = 0; i < m_gridRight->GetNumberCols() && i < int(globalSettings.gui.columnWidthRight.size()); ++i) m_gridRight->SetColSize(i, globalSettings.gui.columnWidthRight[i]); + +/* //read column positions + for (int i = 0; i < m_gridLeft->GetNumberCols() && i < int(globalSettings.gui.columnPositionsLeft.size()); ++i) + { + const int newPosition = globalSettings.gui.columnPositionsLeft[i]; + if (0 <= newPosition && newPosition < m_gridLeft->GetNumberCols()) + m_gridLeft->SetColPos(i, newPosition); + } + + for (int i = 0; i < m_gridRight->GetNumberCols() && i < int(globalSettings.gui.columnPositionsRight.size()); ++i) + { + const int newPosition = globalSettings.gui.columnPositionsRight[i]; + if (0 <= newPosition && newPosition < m_gridRight->GetNumberCols()) + m_gridRight->SetColPos(i, newPosition); + } + */ } void MainDialog::writeGlobalSettings() { //write global settings to (global) variable stored in application instance - globalSettings.gui.widthNotMaximized = widthNotMaximized; - globalSettings.gui.heightNotMaximized = heightNotMaximized; - globalSettings.gui.posXNotMaximized = posXNotMaximized; - globalSettings.gui.posYNotMaximized = posYNotMaximized; - globalSettings.gui.isMaximized = IsMaximized(); + globalSettings.gui.widthNotMaximized = widthNotMaximized; + globalSettings.gui.heightNotMaximized = heightNotMaximized; + globalSettings.gui.posXNotMaximized = posXNotMaximized; + globalSettings.gui.posYNotMaximized = posYNotMaximized; + globalSettings.gui.isMaximized = IsMaximized(); + //write column widths globalSettings.gui.columnWidthLeft.clear(); for (int i = 0; i < m_gridLeft->GetNumberCols(); ++i) globalSettings.gui.columnWidthLeft.push_back(m_gridLeft->GetColSize(i)); @@ -325,42 +342,52 @@ void MainDialog::writeGlobalSettings() globalSettings.gui.columnWidthRight.clear(); for (int i = 0; i < m_gridRight->GetNumberCols(); ++i) globalSettings.gui.columnWidthRight.push_back(m_gridRight->GetColSize(i)); + +/* + //write column positions + globalSettings.gui.columnPositionsLeft.clear(); + for (int i = 0; i < m_gridLeft->GetNumberCols(); ++i) + globalSettings.gui.columnPositionsLeft.push_back(m_gridLeft->GetColPos(i)); + + globalSettings.gui.columnPositionsRight.clear(); + for (int i = 0; i < m_gridRight->GetNumberCols(); ++i) + globalSettings.gui.columnPositionsRight.push_back(m_gridRight->GetColPos(i));*/ } -void MainDialog::onGrid1access(wxEvent& event) +void MainDialog::onGridLeftAccess(wxEvent& event) { - if (leadingPanel != 1) + if (leadGrid != m_gridLeft) { - leadingPanel = 1; + leadGrid = m_gridLeft; m_gridLeft->SetFocus(); - m_gridRight->ClearSelection(); //clear selection on grid2 + m_gridRight->ClearSelection(); } event.Skip(); } -void MainDialog::onGrid2access(wxEvent& event) +void MainDialog::onGridRightAccess(wxEvent& event) { - if (leadingPanel != 2) + if (leadGrid != m_gridRight) { - leadingPanel = 2; + leadGrid = m_gridRight; m_gridRight->SetFocus(); - m_gridLeft->ClearSelection(); //clear selection on grid1 + m_gridLeft->ClearSelection(); } event.Skip(); } -void MainDialog::onGrid3access(wxEvent& event) +void MainDialog::onGridMiddleAccess(wxEvent& event) { - if (leadingPanel != 3) + if (leadGrid != m_gridMiddle) { - leadingPanel = 3; - m_gridLeft->ClearSelection(); //clear selection on grid1 - m_gridRight->ClearSelection(); //clear selection on grid1 + leadGrid = m_gridMiddle; + m_gridLeft->ClearSelection(); + m_gridRight->ClearSelection(); } event.Skip(); } @@ -480,7 +507,8 @@ void MainDialog::OnIdleEvent(wxEvent& event) { //a mouse up event, but no mouse down! (e.g. when window is maximized and cursor is on grid3) filteringInitialized = false; - filterRangeTemp(getSelectedRows()); + if (leadGrid) + filterRangeTemp(getSelectedRows(leadGrid)); } } @@ -504,34 +532,19 @@ void MainDialog::OnIdleEvent(wxEvent& event) } -void MainDialog::copySelectionToClipboard(const set<int>& selectedRows, int selectedGrid) +void MainDialog::copySelectionToClipboard(const wxGrid* selectedGrid) { + const set<int> selectedRows = getSelectedRows(selectedGrid); if (selectedRows.size() > 0) { - wxGrid* grid = 0; - switch (selectedGrid) - { - case 1: - grid = m_gridLeft; - break; - case 2: - grid = m_gridRight; - break; - case 3: - grid = m_gridMiddle; - break; - default: - return; - } - wxString clipboardString; for (set<int>::iterator i = selectedRows.begin(); i != selectedRows.end(); ++i) { - for (int k = 0; k < grid->GetNumberCols(); ++k) + for (int k = 0; k < const_cast<wxGrid*>(selectedGrid)->GetNumberCols(); ++k) { - clipboardString+= grid->GetCellValue(*i, k); - if (k != grid->GetNumberCols() - 1) + clipboardString+= const_cast<wxGrid*>(selectedGrid)->GetCellValue(*i, k); + if (k != const_cast<wxGrid*>(selectedGrid)->GetNumberCols() - 1) clipboardString+= '\t'; } clipboardString+= '\n'; @@ -564,25 +577,8 @@ void removeInvalidRows(set<int>& rows, const int currentUI_Size) } -set<int> MainDialog::getSelectedRows() +set<int> MainDialog::getSelectedRows(const wxGrid* grid) { - wxGrid* grid = 0; - - switch (leadingPanel) - { - case 1: - grid = m_gridLeft; - break; - case 2: - grid = m_gridRight; - break; - case 3: - grid = m_gridMiddle; - break; - default: - return set<int>(); - } - set<int> output; int rowTop, rowBottom; //coords of selection @@ -595,7 +591,7 @@ set<int> MainDialog::getSelectedRows() if (!grid->GetSelectedCols().IsEmpty()) //if a column is selected this is means all rows are marked for deletion { - for (int k = 0; k < grid->GetNumberRows(); ++k) + for (int k = 0; k < const_cast<wxGrid*>(grid)->GetNumberRows(); ++k) output.insert(k); } @@ -646,12 +642,12 @@ public: if (ignoreErrors) { unsolvedErrors = true; - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; } bool ignoreNextErrors = false; wxString errorMessage = text + wxT("\n\n") + _("Information: If you ignore the error or abort a re-compare will be necessary!"); - ErrorDlg* errorDlg = new ErrorDlg(parent, errorMessage, ignoreNextErrors, 90); + ErrorDlg* errorDlg = new ErrorDlg(parent, errorMessage, ignoreNextErrors); int rv = errorDlg->ShowModal(); switch (rv) @@ -659,7 +655,7 @@ public: case ErrorDlg::BUTTON_IGNORE: ignoreErrors = ignoreNextErrors; unsolvedErrors = true; - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; case ErrorDlg::BUTTON_RETRY: return ErrorHandler::RETRY; case ErrorDlg::BUTTON_ABORT: @@ -671,7 +667,7 @@ public: assert (false); } - return ErrorHandler::CONTINUE_NEXT; //dummy return value + return ErrorHandler::IGNORE_ERROR; //dummy return value } private: @@ -703,10 +699,10 @@ void MainDialog::deleteFilesOnGrid(const set<int>& rowsToDeleteOnUI) const FileCompareLine& currentCmpLine = currentGridData[*i]; if (currentCmpLine.fileDescrLeft.objType != FileDescrLine::TYPE_NOTHING) - filesToDelete+= currentCmpLine.fileDescrLeft.fullName + wxT("\n"); + filesToDelete += (currentCmpLine.fileDescrLeft.fullName + wxT("\n")).c_str(); if (currentCmpLine.fileDescrRight.objType != FileDescrLine::TYPE_NOTHING) - filesToDelete+= currentCmpLine.fileDescrRight.fullName + wxT("\n"); + filesToDelete += (currentCmpLine.fileDescrRight.fullName + wxT("\n")).c_str(); filesToDelete+= wxT("\n"); } @@ -749,30 +745,30 @@ void MainDialog::deleteFilesOnGrid(const set<int>& rowsToDeleteOnUI) } -void MainDialog::openWithFileBrowser(int rowNumber, int gridNr) +void MainDialog::openWithFileBrowser(int rowNumber, const wxGrid* grid) { #ifdef FFS_WIN - if (gridNr == 1) + if (grid == m_gridLeft) { - wxString command = wxString(wxT("explorer ")) + FreeFileSync::getFormattedDirectoryName(m_directoryLeft->GetValue()); //default + wxString command = wxString(wxT("explorer ")) + FreeFileSync::getFormattedDirectoryName(m_directoryLeft->GetValue()).c_str(); //default if (0 <= rowNumber && rowNumber < int(gridRefUI.size())) { const FileDescrLine& fileDescr = currentGridData[gridRefUI[rowNumber]].fileDescrLeft; if (fileDescr.objType != FileDescrLine::TYPE_NOTHING) - command = wxString(wxT("explorer /select,")) + fileDescr.fullName; + command = wxString(wxT("explorer /select,")) + fileDescr.fullName.c_str(); } wxExecute(command); } - else if (gridNr == 2) + else if (grid == m_gridRight) { - wxString command = wxString(wxT("explorer ")) + FreeFileSync::getFormattedDirectoryName(m_directoryRight->GetValue()); //default + wxString command = wxString(wxT("explorer ")) + FreeFileSync::getFormattedDirectoryName(m_directoryRight->GetValue()).c_str(); //default if (0 <= rowNumber && rowNumber < int(gridRefUI.size())) { const FileDescrLine& fileDescr = currentGridData[gridRefUI[rowNumber]].fileDescrRight; if (fileDescr.objType != FileDescrLine::TYPE_NOTHING) - command = wxString(wxT("explorer /select,")) + fileDescr.fullName; + command = wxString(wxT("explorer /select,")) + fileDescr.fullName.c_str(); } wxExecute(command); } @@ -827,43 +823,43 @@ void MainDialog::onResizeMainWindow(wxEvent& event) } -void MainDialog::onGrid1ButtonEvent(wxKeyEvent& event) +void MainDialog::onGridLeftButtonEvent(wxKeyEvent& event) { //CTRL + C || CTRL + INS if ( event.ControlDown() && event.GetKeyCode() == 67 || event.ControlDown() && event.GetKeyCode() == WXK_INSERT) - copySelectionToClipboard(getSelectedRows(), 1); + copySelectionToClipboard(m_gridLeft); else if (event.GetKeyCode() == WXK_DELETE) - deleteFilesOnGrid(getSelectedRows()); + deleteFilesOnGrid(getSelectedRows(m_gridLeft)); event.Skip(); } -void MainDialog::onGrid2ButtonEvent(wxKeyEvent& event) +void MainDialog::onGridRightButtonEvent(wxKeyEvent& event) { //CTRL + C || CTRL + INS if ( event.ControlDown() && event.GetKeyCode() == 67 || event.ControlDown() && event.GetKeyCode() == WXK_INSERT) - copySelectionToClipboard(getSelectedRows(), 2); + copySelectionToClipboard(m_gridRight); else if (event.GetKeyCode() == WXK_DELETE) - deleteFilesOnGrid(getSelectedRows()); + deleteFilesOnGrid(getSelectedRows(m_gridRight)); event.Skip(); } -void MainDialog::onGrid3ButtonEvent(wxKeyEvent& event) +void MainDialog::onGridMiddleButtonEvent(wxKeyEvent& event) { //CTRL + C || CTRL + INS if ( event.ControlDown() && event.GetKeyCode() == 67 || event.ControlDown() && event.GetKeyCode() == WXK_INSERT) - copySelectionToClipboard(getSelectedRows(), 3); + copySelectionToClipboard(m_gridMiddle); else if (event.GetKeyCode() == WXK_DELETE) - deleteFilesOnGrid(getSelectedRows()); + deleteFilesOnGrid(getSelectedRows(m_gridMiddle)); event.Skip(); } @@ -871,7 +867,10 @@ void MainDialog::onGrid3ButtonEvent(wxKeyEvent& event) void MainDialog::OnOpenContextMenu(wxGridEvent& event) { - set<int> selection = getSelectedRows(); + set<int> selection; + + if (leadGrid) + selection = getSelectedRows(leadGrid); exFilterCandidateExtension.Clear(); exFilterCandidateObj.clear(); @@ -893,20 +892,20 @@ void MainDialog::OnOpenContextMenu(wxGridEvent& event) //get list of relative file/dir-names into vectors FilterObject newFilterEntry; - if (leadingPanel == 1) + if (leadGrid == m_gridLeft) for (set<int>::iterator i = selection.begin(); i != selection.end(); ++i) { const FileCompareLine& line = currentGridData[gridRefUI[*i]]; - newFilterEntry.relativeName = line.fileDescrLeft.relativeName; + newFilterEntry.relativeName = line.fileDescrLeft.relativeName.c_str(); newFilterEntry.type = line.fileDescrLeft.objType; if (!newFilterEntry.relativeName.IsEmpty()) exFilterCandidateObj.push_back(newFilterEntry); } - else if (leadingPanel == 2) + else if (leadGrid == m_gridRight) for (set<int>::iterator i = selection.begin(); i != selection.end(); ++i) { const FileCompareLine& line = currentGridData[gridRefUI[*i]]; - newFilterEntry.relativeName = line.fileDescrRight.relativeName; + newFilterEntry.relativeName = line.fileDescrRight.relativeName.c_str(); newFilterEntry.type = line.fileDescrRight.objType; if (!newFilterEntry.relativeName.IsEmpty()) exFilterCandidateObj.push_back(newFilterEntry); @@ -919,14 +918,14 @@ void MainDialog::OnOpenContextMenu(wxGridEvent& event) if (filename.Find(wxChar('.')) != wxNOT_FOUND) //be careful: AfterLast will return the whole string if '.' is not found! { exFilterCandidateExtension = filename.AfterLast(wxChar('.')); - contextMenu->Append(CONTEXT_EXCLUDE_EXT, wxString(_("Add to exclude filter: ")) + wxT("*.") + exFilterCandidateExtension); + contextMenu->Append(CONTEXT_EXCLUDE_EXT, wxString(_("Add to exclude filter:")) + wxT(" ") + wxT("*.") + exFilterCandidateExtension); } } if (exFilterCandidateObj.size() == 1) - contextMenu->Append(CONTEXT_EXCLUDE_OBJ, wxString(_("Add to exclude filter: ")) + exFilterCandidateObj[0].relativeName); + contextMenu->Append(CONTEXT_EXCLUDE_OBJ, wxString(_("Add to exclude filter:")) + wxT(" ") + exFilterCandidateObj[0].relativeName.AfterLast(GlobalResources::FILE_NAME_SEPARATOR)); else if (exFilterCandidateObj.size() > 1) - contextMenu->Append(CONTEXT_EXCLUDE_OBJ, wxString(_("Add to exclude filter: ")) + _("<multiple selection>")); + contextMenu->Append(CONTEXT_EXCLUDE_OBJ, wxString(_("Add to exclude filter:")) + wxT(" ") + _("<multiple selection>")); } else contextMenu->Append(CONTEXT_FILTER_TEMP, _("Exclude temporarily")); //this element should always be visible @@ -957,7 +956,7 @@ void MainDialog::OnOpenContextMenu(wxGridEvent& event) } #ifdef FFS_WIN - if ((leadingPanel == 1 || leadingPanel == 2) && selection.size() <= 1) + if ((leadGrid == m_gridLeft || leadGrid == m_gridRight) && selection.size() <= 1) contextMenu->Enable(CONTEXT_EXPLORER, true); else contextMenu->Enable(CONTEXT_EXPLORER, false); @@ -971,12 +970,14 @@ void MainDialog::OnOpenContextMenu(wxGridEvent& event) void MainDialog::onContextMenuSelection(wxCommandEvent& event) { - set<int> selection = getSelectedRows(); - int eventId = event.GetId(); if (eventId == CONTEXT_FILTER_TEMP) { - filterRangeTemp(selection); + if (leadGrid) + { + set<int> selection = getSelectedRows(leadGrid); + filterRangeTemp(selection); + } } else if (eventId == CONTEXT_EXCLUDE_EXT) { @@ -991,7 +992,14 @@ void MainDialog::onContextMenuSelection(wxCommandEvent& event) updateFilterButton(m_bpButtonFilter, cfg.filterIsActive); FreeFileSync::filterCurrentGridData(currentGridData, cfg.includeFilter, cfg.excludeFilter); + writeGrid(currentGridData); + if (hideFilteredElements) + { + m_gridLeft->ClearSelection(); + m_gridRight->ClearSelection(); + m_gridMiddle->ClearSelection(); + } } } else if (eventId == CONTEXT_EXCLUDE_OBJ) @@ -1019,32 +1027,58 @@ void MainDialog::onContextMenuSelection(wxCommandEvent& event) updateFilterButton(m_bpButtonFilter, cfg.filterIsActive); FreeFileSync::filterCurrentGridData(currentGridData, cfg.includeFilter, cfg.excludeFilter); + writeGrid(currentGridData); + if (hideFilteredElements) + { + m_gridLeft->ClearSelection(); + m_gridRight->ClearSelection(); + m_gridMiddle->ClearSelection(); + } } } else if (eventId == CONTEXT_CLIPBOARD) { - copySelectionToClipboard(selection, leadingPanel); + if (leadGrid) + copySelectionToClipboard(leadGrid); } else if (eventId == CONTEXT_EXPLORER) { - if (leadingPanel == 1 || leadingPanel == 2) + if (leadGrid == m_gridLeft || leadGrid == m_gridRight) { + set<int> selection = getSelectedRows(leadGrid); + if (selection.size() == 1) - openWithFileBrowser(*selection.begin(), leadingPanel); + openWithFileBrowser(*selection.begin(), leadGrid); else if (selection.size() == 0) - openWithFileBrowser(-1, leadingPanel); + openWithFileBrowser(-1, leadGrid); } } else if (eventId == CONTEXT_DELETE_FILES) { - deleteFilesOnGrid(selection); + if (leadGrid) + { + set<int> selection = getSelectedRows(leadGrid); + deleteFilesOnGrid(selection); + } } event.Skip(); } +void MainDialog::OnColumnMenuLeft(wxGridEvent& event) +{ + event.Skip(); +} + + +void MainDialog::OnColumnMenuRight(wxGridEvent& event) +{ + event.Skip(); +} + + void MainDialog::OnWriteDirManually(wxCommandEvent& event) { wxString newDir = FreeFileSync::getFormattedDirectoryName(event.GetString()); @@ -1274,11 +1308,11 @@ void MainDialog::OnSaveConfig(wxCommandEvent& event) if (wxFileExists(newFileName)) { - wxMessageDialog* messageDlg = new wxMessageDialog(this, wxString(wxT("\"")) + newFileName + wxT("\"") + _(" already exists. Overwrite?"), _("Warning") , wxOK | wxCANCEL); + wxMessageDialog* messageDlg = new wxMessageDialog(this, wxString(_("File already exists. Overwrite?")) + wxT(" \"") + newFileName + wxT("\""), _("Warning") , wxOK | wxCANCEL); if (messageDlg->ShowModal() != wxID_OK) { - pushStatusInformation(_("Saved aborted!")); + pushStatusInformation(_("Save aborted!")); return; } } @@ -1337,9 +1371,9 @@ void MainDialog::loadConfiguration(const wxString& filename) if (!filename.IsEmpty()) { if (!wxFileExists(filename)) - wxMessageBox(wxString(_("The selected file does not exist: ")) + filename, _("Warning"), wxOK); + wxMessageBox(wxString(_("The selected file does not exist:")) + wxT(" \"") + filename + wxT("\""), _("Warning"), wxOK); else if (xmlAccess::getXmlType(filename) != XML_GUI_CONFIG) - wxMessageBox(_("The selected file does not contain a valid configuration!"), _("Warning"), wxOK); + wxMessageBox(wxString(_("The file does not contain a valid configuration:")) + wxT(" \"") + filename + wxT("\""), _("Warning"), wxOK); else { //clear grids currentGridData.clear(); @@ -1424,11 +1458,18 @@ bool MainDialog::readConfigurationFromXml(const wxString& filename, bool program updateCompareButtons(); updateFilterButton(m_bpButtonFilter, cfg.filterIsActive); - //read folder pairs, but first: clear existing pairs: + //read folder pairs: + //clear existing pairs first + m_directoryLeft->SetValue(wxEmptyString); + m_dirPickerLeft->SetPath(wxEmptyString); + m_directoryRight->SetValue(wxEmptyString); + m_dirPickerRight->SetPath(wxEmptyString); + removeFolderPair(true); //set main folder pair - if (guiCfg.directoryPairs.size() > 0) + const unsigned int folderPairCount = guiCfg.directoryPairs.size(); + if (folderPairCount > 0) { vector<FolderPair>::const_iterator i = guiCfg.directoryPairs.begin(); @@ -1445,6 +1486,11 @@ bool MainDialog::readConfigurationFromXml(const wxString& filename, bool program //set additional pairs for (vector<FolderPair>::const_iterator i = guiCfg.directoryPairs.begin() + 1; i != guiCfg.directoryPairs.end(); ++i) addFolderPair(i->leftDirectory, i->rightDirectory); + + //adjust folder pair buttons + const int additionalFolderCount = folderPairCount - 1; + if (additionalFolderCount <= 0) + m_bpButtonRemovePair->Disable(); } //read GUI layout (optional!) @@ -1717,13 +1763,13 @@ void MainDialog::getFolderPairs(vector<FolderPair>& output, bool formatted) FolderPair newPair; if (formatted) { - newPair.leftDirectory = FreeFileSync::getFormattedDirectoryName(m_directoryLeft->GetValue()); - newPair.rightDirectory = FreeFileSync::getFormattedDirectoryName(m_directoryRight->GetValue()); + newPair.leftDirectory = FreeFileSync::getFormattedDirectoryName(m_directoryLeft->GetValue()).c_str(); + newPair.rightDirectory = FreeFileSync::getFormattedDirectoryName(m_directoryRight->GetValue()).c_str(); } else { - newPair.leftDirectory = m_directoryLeft->GetValue(); - newPair.rightDirectory = m_directoryRight->GetValue(); + newPair.leftDirectory = m_directoryLeft->GetValue().c_str(); + newPair.rightDirectory = m_directoryRight->GetValue().c_str(); } output.push_back(newPair); @@ -1738,8 +1784,8 @@ void MainDialog::getFolderPairs(vector<FolderPair>& output, bool formatted) } else { - newPair.leftDirectory = dirPair->m_directoryLeft->GetValue(); - newPair.rightDirectory = dirPair->m_directoryRight->GetValue(); + newPair.leftDirectory = dirPair->m_directoryLeft->GetValue().c_str(); + newPair.rightDirectory = dirPair->m_directoryRight->GetValue().c_str(); } output.push_back(newPair); @@ -1783,7 +1829,7 @@ void MainDialog::OnCompare(wxCommandEvent &event) clearStatusBar(); - wxBeginBusyCursor(); + wxBusyCursor dummy; //show hourglass cursor bool aborted = false; try @@ -1853,7 +1899,6 @@ void MainDialog::OnCompare(wxCommandEvent &event) m_gridRight->setSortMarker(-1); } - wxEndBusyCursor(); event.Skip(); } @@ -1914,12 +1959,12 @@ void MainDialog::OnSync(wxCommandEvent& event) cfg.syncConfiguration); if (objectsToCreate + objectsToOverwrite + objectsToDelete == 0) { - wxMessageBox(_("Nothing to synchronize. Both directories adhere to the sync-configuration!"), _("Information"), wxICON_WARNING); + wxMessageBox(_("Nothing to synchronize according to configuration!"), _("Information"), wxICON_WARNING); return; } - wxBeginBusyCursor(); + wxBusyCursor dummy; //show hourglass cursor clearStatusBar(); try @@ -1946,8 +1991,6 @@ void MainDialog::OnSync(wxCommandEvent& event) pushStatusInformation(_("All items have been synchronized!")); enableSynchronization(false); } - - wxEndBusyCursor(); } event.Skip(); } @@ -1955,14 +1998,14 @@ void MainDialog::OnSync(wxCommandEvent& event) void MainDialog::OnLeftGridDoubleClick(wxGridEvent& event) { - openWithFileBrowser(event.GetRow(), 1); + openWithFileBrowser(event.GetRow(), m_gridLeft); event.Skip(); } void MainDialog::OnRightGridDoubleClick(wxGridEvent& event) { - openWithFileBrowser(event.GetRow(), 2); + openWithFileBrowser(event.GetRow(), m_gridRight); event.Skip(); } @@ -2123,14 +2166,17 @@ void MainDialog::updateStatusInformation(const GridView& visibleGrid) //show status information on "root" level. if (foldersOnLeftView) { - wxString folderCount = numberToWxString(foldersOnLeftView); - globalFunctions::includeNumberSeparator(folderCount); - - statusLeftNew+= folderCount; if (foldersOnLeftView == 1) - statusLeftNew+= _(" directory"); + statusLeftNew+= _("1 directory"); else - statusLeftNew+= _(" directories"); + { + wxString folderCount = numberToWxString(foldersOnLeftView); + globalFunctions::includeNumberSeparator(folderCount); + + wxString outputString = _("%x directories"); + outputString.Replace(wxT("%x"), folderCount, false); + statusLeftNew+= outputString; + } if (filesOnLeftView) statusLeftNew+= wxT(", "); @@ -2138,38 +2184,53 @@ void MainDialog::updateStatusInformation(const GridView& visibleGrid) if (filesOnLeftView) { - wxString fileCount = numberToWxString(filesOnLeftView); - globalFunctions::includeNumberSeparator(fileCount); - - statusLeftNew+= fileCount; if (filesOnLeftView == 1) - statusLeftNew+= _(" file, "); + statusLeftNew+= _("1 file,"); else - statusLeftNew+= _(" files, "); + { + wxString fileCount = numberToWxString(filesOnLeftView); + globalFunctions::includeNumberSeparator(fileCount); + wxString outputString = _("%x files,"); + outputString.Replace(wxT("%x"), fileCount, false); + statusLeftNew+= outputString; + } + statusLeftNew+= wxT(" "); statusLeftNew+= FreeFileSync::formatFilesizeToShortString(filesizeLeftView); } - wxString objectsTotal = numberToWxString(currentGridData.size()); - globalFunctions::includeNumberSeparator(objectsTotal); wxString objectsView = numberToWxString(visibleGrid.size()); globalFunctions::includeNumberSeparator(objectsView); if (currentGridData.size() == 1) - statusMiddleNew = objectsView + _(" of ") + objectsTotal + _(" row in view"); + { + wxString outputString = _("%x of 1 row in view"); + outputString.Replace(wxT("%x"), objectsView, false); + statusMiddleNew = outputString; + } else - statusMiddleNew = objectsView + _(" of ") + objectsTotal + _(" rows in view"); + { + wxString objectsTotal = numberToWxString(currentGridData.size()); + globalFunctions::includeNumberSeparator(objectsTotal); + wxString outputString = _("%x of %y rows in view"); + outputString.Replace(wxT("%x"), objectsView, false); + outputString.Replace(wxT("%y"), objectsTotal, false); + statusMiddleNew = outputString; + } if (foldersOnRightView) { - wxString folderCount = numberToWxString(foldersOnRightView); - globalFunctions::includeNumberSeparator(folderCount); - - statusRightNew+= folderCount; if (foldersOnRightView == 1) - statusRightNew+= _(" directory"); + statusRightNew+= _("1 directory"); else - statusRightNew+= _(" directories"); + { + wxString folderCount = numberToWxString(foldersOnRightView); + globalFunctions::includeNumberSeparator(folderCount); + + wxString outputString = _("%x directories"); + outputString.Replace(wxT("%x"), folderCount, false); + statusRightNew+= outputString; + } if (filesOnRightView) statusRightNew+= wxT(", "); @@ -2177,15 +2238,19 @@ void MainDialog::updateStatusInformation(const GridView& visibleGrid) if (filesOnRightView) { - wxString fileCount = numberToWxString(filesOnRightView); - globalFunctions::includeNumberSeparator(fileCount); - - statusRightNew+= fileCount; if (filesOnRightView == 1) - statusRightNew+= _(" file, "); + statusRightNew+= _("1 file,"); else - statusRightNew+= _(" files, "); + { + wxString fileCount = numberToWxString(filesOnRightView); + globalFunctions::includeNumberSeparator(fileCount); + wxString outputString = _("%x files,"); + outputString.Replace(wxT("%x"), fileCount, false); + statusRightNew+= outputString; + } + + statusRightNew+= wxT(" "); statusRightNew+= FreeFileSync::formatFilesizeToShortString(filesizeRightView); } @@ -2290,8 +2355,6 @@ void MainDialog::mapGridDataToUI(GridView& output, const FileCompareResult& file m_panel112->Hide(); bSizer3->Layout(); - - //sorting is expensive: do performance measurements before implementing here! } @@ -2320,7 +2383,7 @@ void MainDialog::addFolderPair(const wxString& leftDir, const wxString& rightDir //set size of scrolled window wxSize pairSize = newPair->GetSize(); - int additionalRows = additionalFolderPairs.size(); + const int additionalRows = additionalFolderPairs.size(); if (additionalRows <= 3) //up to 3 additional pairs shall be shown m_scrolledWindowFolderPairs->SetMinSize(wxSize( -1, pairSize.GetHeight() * additionalRows)); else //adjust scrollbars @@ -2375,7 +2438,7 @@ void MainDialog::removeFolderPair(bool removeAll) while (removeAll && additionalFolderPairs.size() > 0); //set size of scrolled window - int additionalRows = additionalFolderPairs.size(); + const int additionalRows = additionalFolderPairs.size(); if (additionalRows <= 3) //up to 3 additional pairs shall be shown m_scrolledWindowFolderPairs->SetMinSize(wxSize(-1, pairSize.GetHeight() * additionalRows)); //adjust scrollbars (do not put in else clause) @@ -2450,6 +2513,8 @@ CompareStatusHandler::CompareStatusHandler(MainDialog* dlg) : CompareStatusHandler::~CompareStatusHandler() { + updateUiNow(); //ui update before enabling buttons again: prevent strange behaviour of delayed button clicks + //reenable complete main dialog mainDialog->m_radioBtnSizeDate->Enable(); mainDialog->m_radioBtnContent->Enable(); @@ -2486,12 +2551,13 @@ CompareStatusHandler::~CompareStatusHandler() mainDialog->m_buttonAbort->Disable(); mainDialog->m_buttonAbort->Hide(); - mainDialog->m_bpButtonCompare->Enable(); + + mainDialog->m_bpButtonCompare->Enable(); //enable compare button mainDialog->m_bpButtonCompare->Show(); //hide status panel from main window mainDialog->compareStatus->Hide(); - updateUiNow(); + mainDialog->Layout(); mainDialog->Refresh(); } @@ -2534,20 +2600,20 @@ void CompareStatusHandler::updateProcessedData(int objectsProcessed, double data ErrorHandler::Response CompareStatusHandler::reportError(const wxString& text) { if (ignoreErrors) - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; mainDialog->compareStatus->updateStatusPanelNow(); bool ignoreNextErrors = false; - wxString errorMessage = text + wxT("\n\n") + _("Ignore this error, retry or abort comparison?"); - ErrorDlg* errorDlg = new ErrorDlg(mainDialog, errorMessage, ignoreNextErrors, 90); + wxString errorMessage = text + wxT("\n\n") + _("Ignore this error, retry or abort?"); + ErrorDlg* errorDlg = new ErrorDlg(mainDialog, errorMessage, ignoreNextErrors); int rv = errorDlg->ShowModal(); switch (rv) { case ErrorDlg::BUTTON_IGNORE: ignoreErrors = ignoreNextErrors; - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; case ErrorDlg::BUTTON_RETRY: return ErrorHandler::RETRY; case ErrorDlg::BUTTON_ABORT: @@ -2559,7 +2625,7 @@ ErrorHandler::Response CompareStatusHandler::reportError(const wxString& text) assert (false); } - return ErrorHandler::CONTINUE_NEXT; //dummy return value + return ErrorHandler::IGNORE_ERROR; //dummy return value } @@ -2593,7 +2659,9 @@ SyncStatusHandler::~SyncStatusHandler() wxString result; if (failedItems) { - result = wxString(_("Warning: Synchronization failed for ")) + numberToWxString(failedItems) + _(" item(s):\n\n"); + result = wxString(_("Warning: Synchronization failed for %x item(s):")) + wxT("\n\n"); + result.Replace(wxT("%x"), globalFunctions::numberToWxString(failedItems), false); + for (unsigned int j = 0; j < failedItems; ++j) result+= unhandledErrors[j] + wxT("\n"); result+= wxT("\n"); @@ -2602,13 +2670,13 @@ SyncStatusHandler::~SyncStatusHandler() //notify to syncStatusFrame that current process has ended if (abortRequested) { - result+= wxString(_("Synchronization aborted!")) + _(" You may try to synchronize remaining items again (WITHOUT having to re-compare)!"); + result+= wxString(_("Synchronization aborted!")) + wxT(" ") + _("You may try to synchronize remaining items again (WITHOUT having to re-compare)!"); syncStatusFrame->setStatusText_NoUpdate(result); syncStatusFrame->processHasFinished(SyncStatus::ABORTED); //enable okay and close events } else if (failedItems) { - result+= wxString(_("Synchronization completed with errors!")) + _(" You may try to synchronize remaining items again (WITHOUT having to re-compare)!"); + result+= wxString(_("Synchronization completed with errors!")) + wxT(" ") + _("You may try to synchronize remaining items again (WITHOUT having to re-compare)!"); syncStatusFrame->setStatusText_NoUpdate(result); syncStatusFrame->processHasFinished(SyncStatus::FINISHED_WITH_ERROR); } @@ -2649,14 +2717,14 @@ ErrorHandler::Response SyncStatusHandler::reportError(const wxString& text) if (ignoreErrors) { unhandledErrors.Add(text); - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; } syncStatusFrame->updateStatusDialogNow(); bool ignoreNextErrors = false; wxString errorMessage = text + wxT("\n\n") + _("Ignore this error, retry or abort synchronization?"); - ErrorDlg* errorDlg = new ErrorDlg(syncStatusFrame, errorMessage, ignoreNextErrors, 80); + ErrorDlg* errorDlg = new ErrorDlg(syncStatusFrame, errorMessage, ignoreNextErrors); int rv = errorDlg->ShowModal(); switch (rv) @@ -2664,7 +2732,7 @@ ErrorHandler::Response SyncStatusHandler::reportError(const wxString& text) case ErrorDlg::BUTTON_IGNORE: ignoreErrors = ignoreNextErrors; unhandledErrors.Add(text); - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; case ErrorDlg::BUTTON_RETRY: return ErrorHandler::RETRY; case ErrorDlg::BUTTON_ABORT: @@ -2675,7 +2743,7 @@ ErrorHandler::Response SyncStatusHandler::reportError(const wxString& text) } default: assert (false); - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; } } @@ -2705,11 +2773,11 @@ void MainDialog::OnMenuExportFileList(wxCommandEvent& event) fileName = filePicker->GetPath(); if (wxFileExists(fileName)) { - wxMessageDialog* messageDlg = new wxMessageDialog(this, wxString(wxT("\"")) + fileName + wxT("\"") + _(" already exists. Overwrite?"), _("Warning") , wxOK | wxCANCEL); + wxMessageDialog* messageDlg = new wxMessageDialog(this, wxString(_("File already exists. Overwrite?")) + wxT(" \"") + fileName + wxT("\""), _("Warning") , wxOK | wxCANCEL); if (messageDlg->ShowModal() != wxID_OK) { - pushStatusInformation(_("Saved aborted!")); + pushStatusInformation(_("Save aborted!")); event.Skip(); return; } @@ -2722,27 +2790,26 @@ void MainDialog::OnMenuExportFileList(wxCommandEvent& event) for (int k = 0; k < m_gridLeft->GetNumberCols(); ++k) { exportString+= m_gridLeft->GetCellValue(i, k); - exportString+= '\t'; + exportString+= ';'; } for (int k = 0; k < m_gridMiddle->GetNumberCols(); ++k) { exportString+= m_gridMiddle->GetCellValue(i, k); - exportString+= '\t'; + exportString+= ';'; } for (int k = 0; k < m_gridRight->GetNumberCols(); ++k) { exportString+= m_gridRight->GetCellValue(i, k); if (k != m_gridRight->GetNumberCols() - 1) - exportString+= '\t'; + exportString+= ';'; } exportString+= '\n'; } //write export file - wxFile output(fileName, wxFile::write); - + wxFFile output(fileName.c_str(), wxT("w")); //don't write in binary mode if (output.IsOpened()) { output.Write(exportString); @@ -2750,7 +2817,7 @@ void MainDialog::OnMenuExportFileList(wxCommandEvent& event) } else { - wxMessageBox(wxString(_("Could not write to ")) + wxT("\"") + fileName + wxT("\""), _("Error"), wxOK | wxICON_ERROR); + wxMessageBox(wxString(_("Error writing file:")) + wxT(" \"") + fileName + wxT("\""), _("Error"), wxOK | wxICON_ERROR); } } @@ -2842,3 +2909,13 @@ void MainDialog::OnMenuLangDutch(wxCommandEvent& event) Destroy(); event.Skip(); } + + +void MainDialog::OnMenuLangChineseSimp(wxCommandEvent& event) +{ + programLanguage->setLanguage(wxLANGUAGE_CHINESE_SIMPLIFIED); //language is a global attribute + restartOnExit = true; + Destroy(); + event.Skip(); +} + diff --git a/ui/MainDialog.h b/ui/MainDialog.h index 46151521..31214fe4 100644 --- a/ui/MainDialog.h +++ b/ui/MainDialog.h @@ -30,16 +30,17 @@ enum ContextItem CONTEXT_EXCLUDE_OBJ, CONTEXT_CLIPBOARD, CONTEXT_EXPLORER, - CONTEXT_DELETE_FILES + CONTEXT_DELETE_FILES, + CONTEXT_HIDE_COLUMN, + CONTEXT_SHOW_ALL_COLUMNS }; -extern int leadingPanel; //better keep this an int! event.GetEventObject() does NOT always return m_grid1, m_grid2, m_grid3! +extern const wxGrid* leadGrid; //point to grid that is in focus class CompareStatusHandler; class FileDropEvent; -class TiXmlElement; -class MainDialog : public GuiGenerated +class MainDialog : public MainDialogGenerated { friend class CompareStatusHandler; friend class FileDropEvent; @@ -71,10 +72,10 @@ private: void updateStatusInformation(const GridView& output); //context menu functions - set<int> getSelectedRows(); + set<int> getSelectedRows(const wxGrid* grid); void filterRangeTemp(const set<int>& rowsToFilterOnUI_View); - void copySelectionToClipboard(const set<int>& selectedRows, int selectedGrid); - void openWithFileBrowser(int rowNumber, int gridNr); + void copySelectionToClipboard(const wxGrid* selectedGrid); + void openWithFileBrowser(int rowNumber, const wxGrid* grid); void deleteFilesOnGrid(const set<int>& rowsToDeleteOnUI); //work to be done in idle time @@ -85,14 +86,16 @@ private: void clearStatusBar(); //events - void onGrid1access(wxEvent& event); - void onGrid2access(wxEvent& event); - void onGrid3access(wxEvent& event); + void onGridLeftAccess( wxEvent& event); + void onGridRightAccess( wxEvent& event); + void onGridMiddleAccess(wxEvent& event); - void onGrid1ButtonEvent(wxKeyEvent& event); - void onGrid2ButtonEvent(wxKeyEvent& event); - void onGrid3ButtonEvent(wxKeyEvent& event); + void onGridLeftButtonEvent(wxKeyEvent& event); + void onGridRightButtonEvent(wxKeyEvent& event); + void onGridMiddleButtonEvent(wxKeyEvent& event); void OnOpenContextMenu(wxGridEvent& event); + void OnColumnMenuLeft(wxGridEvent& event); + void OnColumnMenuRight(wxGridEvent& event); void OnWriteDirManually(wxCommandEvent& event); void OnDirSelected(wxFileDirPickerEvent& event); @@ -151,6 +154,7 @@ private: void OnMenuLangFrench( wxCommandEvent& event); void OnMenuLangJapanese( wxCommandEvent& event); void OnMenuLangDutch( wxCommandEvent& event); + void OnMenuLangChineseSimp( wxCommandEvent& event); void enableSynchronization(bool value); diff --git a/ui/SmallDialogs.cpp b/ui/SmallDialogs.cpp index 3a2e239e..4c6d0d7b 100644 --- a/ui/SmallDialogs.cpp +++ b/ui/SmallDialogs.cpp @@ -15,7 +15,7 @@ AboutDlg::AboutDlg(wxWindow* window) : AboutDlgGenerated(window) m_bitmap13->SetBitmap(*globalResource.bitmapGPL); //build information - wxString build = wxString(wxT("(")) + _("Build: ") + __TDATE__; + wxString build = wxString(wxT("(")) + _("Build:") + wxT(" ") + __TDATE__; #if wxUSE_UNICODE build+= wxT(" - Unicode"); #else @@ -199,7 +199,7 @@ void DeleteDialog::OnClose(wxCloseEvent& event) //######################################################################################## -ErrorDlg::ErrorDlg(wxWindow* parentWindow, const wxString messageText, bool& ignoreNextErrors, int dummy) : +ErrorDlg::ErrorDlg(wxWindow* parentWindow, const wxString messageText, bool& ignoreNextErrors) : ErrorDlgGenerated(parentWindow), ignoreErrors(ignoreNextErrors) { @@ -334,11 +334,11 @@ public: if (ignoreErrors) { unsolvedErrors = true; - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; } bool ignoreNextErrors = false; - ErrorDlg* errorDlg = new ErrorDlg(parent, text, ignoreNextErrors, 90); + ErrorDlg* errorDlg = new ErrorDlg(parent, text, ignoreNextErrors); int rv = errorDlg->ShowModal(); switch (rv) @@ -346,7 +346,7 @@ public: case ErrorDlg::BUTTON_IGNORE: ignoreErrors = ignoreNextErrors; unsolvedErrors = true; - return ErrorHandler::CONTINUE_NEXT; + return ErrorHandler::IGNORE_ERROR; case ErrorDlg::BUTTON_RETRY: return ErrorHandler::RETRY; case ErrorDlg::BUTTON_ABORT: @@ -356,9 +356,8 @@ public: } default: assert (false); + return ErrorHandler::IGNORE_ERROR; //dummy return value } - - return ErrorHandler::CONTINUE_NEXT; //dummy return value } private: @@ -375,13 +374,15 @@ void ModifyFilesDlg::OnApply(wxCommandEvent& event) if (!wxDirExists(parentDir)) { - wxMessageBox(wxString(_("Directory does not exist: ")) + wxT("\"") + parentDir + wxT("\""), _("Error"), wxOK | wxICON_ERROR); + wxMessageBox(wxString(_("Directory does not exist:")) + wxT(" \"") + parentDir + wxT("\""), _("Error"), wxOK | wxICON_ERROR); return; } bool unsolvedErrorOccured = false; //if an error is skipped a re-compare will be necessary! try { + wxBusyCursor dummy; //show hourglass cursor + ModifyErrorHandler errorHandler(this, unsolvedErrorOccured); FreeFileSync::adjustModificationTimes(parentDir, timeToShift, &errorHandler); } @@ -394,6 +395,7 @@ void ModifyFilesDlg::OnApply(wxCommandEvent& event) wxMessageBox(_("Unresolved errors occured during operation!"), _("Information"), wxOK); else wxMessageBox(_("All file times have been adjusted successfully!"), _("Information"), wxOK); + EndModal(BUTTON_APPLY); } diff --git a/ui/SmallDialogs.h b/ui/SmallDialogs.h index c75a1b9a..06e6c407 100644 --- a/ui/SmallDialogs.h +++ b/ui/SmallDialogs.h @@ -2,6 +2,7 @@ #define SMALLDIALOGS_H_INCLUDED #include "../FreeFileSync.h" +#include "../library/statusHandler.h" #include "guiGenerated.h" #include <wx/stopwatch.h> @@ -74,7 +75,7 @@ private: class ErrorDlg : public ErrorDlgGenerated { public: - ErrorDlg(wxWindow* parentWindow, const wxString messageText, bool& ignoreNextErrors, int dummy); + ErrorDlg(wxWindow* parentWindow, const wxString messageText, bool& ignoreNextErrors); ~ErrorDlg(); enum diff --git a/ui/SyncDialog.cpp b/ui/SyncDialog.cpp index a26931fe..67ec27dc 100644 --- a/ui/SyncDialog.cpp +++ b/ui/SyncDialog.cpp @@ -564,7 +564,7 @@ void BatchDialog::OnCreateBatchJob(wxCommandEvent& event) fileName = filePicker->GetPath(); if (wxFileExists(fileName)) { - wxMessageDialog* messageDlg = new wxMessageDialog(this, wxString(wxT("\"")) + fileName + wxT("\"") + _(" already exists. Overwrite?"), _("Warning") , wxOK | wxCANCEL); + wxMessageDialog* messageDlg = new wxMessageDialog(this, wxString(_("File already exists. Overwrite?")) + wxT(" \"") + fileName + wxT("\""), _("Warning") , wxOK | wxCANCEL); if (messageDlg->ShowModal() != wxID_OK) return; @@ -599,8 +599,8 @@ bool BatchDialog::createBatchFile(const wxString& filename) for (unsigned int i = 0; i < localFolderPairs.size(); ++i) { FolderPair newPair; - newPair.leftDirectory = localFolderPairs[i]->m_directoryLeft->GetValue(); - newPair.rightDirectory = localFolderPairs[i]->m_directoryRight->GetValue(); + newPair.leftDirectory = localFolderPairs[i]->m_directoryLeft->GetValue().c_str(); + newPair.rightDirectory = localFolderPairs[i]->m_directoryRight->GetValue().c_str(); batchCfg.directoryPairs.push_back(newPair); } @@ -624,7 +624,7 @@ bool BatchDialog::createBatchFile(const wxString& filename) /* #ifdef FFS_WIN -#include <windows.h> +#include <wx/msw/wrapwin.h> //includes "windows.h" #include <shlobj.h> #endif // FFS_WIN diff --git a/ui/SyncDialog.h b/ui/SyncDialog.h index 036e9b6f..10f449c8 100644 --- a/ui/SyncDialog.h +++ b/ui/SyncDialog.h @@ -18,9 +18,9 @@ public: ~SyncDialog(); enum - { - BUTTON_START = 15 - }; + { + BUTTON_START = 15 + }; static void updateConfigIcons(wxBitmapButton* button1, wxBitmapButton* button2, diff --git a/ui/guiGenerated.cpp b/ui/guiGenerated.cpp index 9daaecb4..b55b50ed 100644 --- a/ui/guiGenerated.cpp +++ b/ui/guiGenerated.cpp @@ -11,7 +11,7 @@ /////////////////////////////////////////////////////////////////////////// -GuiGenerated::GuiGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) +MainDialogGenerated::MainDialogGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) { this->SetSizeHints( wxDefaultSize, wxDefaultSize ); @@ -58,6 +58,9 @@ GuiGenerated::GuiGenerated( wxWindow* parent, wxWindowID id, const wxString& tit m_menuItemJapanese = new wxMenuItem( m_menu31, wxID_ANY, wxString( _("日本語") ) , wxEmptyString, wxITEM_RADIO ); m_menu31->Append( m_menuItemJapanese ); + m_menuItemChineseSimple = new wxMenuItem( m_menu31, wxID_ANY, wxString( _("简体中文") ) , wxEmptyString, wxITEM_RADIO ); + m_menu31->Append( m_menuItemChineseSimple ); + m_menu3->Append( -1, _("&Language"), m_menu31 ); m_menu3->AppendSeparator(); @@ -327,7 +330,7 @@ GuiGenerated::GuiGenerated( wxWindow* parent, wxWindowID id, const wxString& tit m_gridLeft->SetColSize( 1, 118 ); m_gridLeft->SetColSize( 2, 67 ); m_gridLeft->SetColSize( 3, 113 ); - m_gridLeft->EnableDragColMove( false ); + m_gridLeft->EnableDragColMove( true ); m_gridLeft->EnableDragColSize( true ); m_gridLeft->SetColLabelSize( 20 ); m_gridLeft->SetColLabelValue( 0, _("Filename") ); @@ -408,7 +411,7 @@ GuiGenerated::GuiGenerated( wxWindow* parent, wxWindowID id, const wxString& tit m_gridRight->SetColSize( 1, 118 ); m_gridRight->SetColSize( 2, 67 ); m_gridRight->SetColSize( 3, 113 ); - m_gridRight->EnableDragColMove( false ); + m_gridRight->EnableDragColMove( true ); m_gridRight->EnableDragColSize( true ); m_gridRight->SetColLabelSize( 20 ); m_gridRight->SetColLabelValue( 0, _("Filename") ); @@ -591,107 +594,113 @@ GuiGenerated::GuiGenerated( wxWindow* parent, wxWindowID id, const wxString& tit this->Layout(); // Connect Events - this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GuiGenerated::OnClose ) ); - this->Connect( m_menuItem10->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnCompare ) ); - this->Connect( m_menuItem11->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnSync ) ); - this->Connect( m_menuItem14->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuSaveConfig ) ); - this->Connect( m_menuItem13->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLoadConfig ) ); - this->Connect( m_menuItem4->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuQuit ) ); - this->Connect( m_menuItemGerman->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangGerman ) ); - this->Connect( m_menuItemEnglish->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangEnglish ) ); - this->Connect( m_menuItemFrench->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangFrench ) ); - this->Connect( m_menuItemDutch->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangDutch ) ); - this->Connect( m_menuItemJapanese->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangJapanese ) ); - this->Connect( m_menuItem7->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuBatchJob ) ); - this->Connect( m_menuItemAdjustTimes->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuAdjustFileTimes ) ); - this->Connect( m_menuItem5->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuExportFileList ) ); - this->Connect( m_menuItem3->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuAbout ) ); - m_bpButtonCompare->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnCompare ), NULL, this ); - m_buttonAbort->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnAbortCompare ), NULL, this ); - m_radioBtnSizeDate->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GuiGenerated::OnCompareByTimeSize ), NULL, this ); - m_radioBtnContent->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GuiGenerated::OnCompareByContent ), NULL, this ); - m_bpButton14->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnShowHelpDialog ), NULL, this ); - m_bpButtonFilter->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnFilterButton ), NULL, this ); - m_hyperlinkCfgFilter->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( GuiGenerated::OnConfigureFilter ), NULL, this ); - m_checkBoxHideFilt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GuiGenerated::OnHideFilteredButton ), NULL, this ); - m_bpButtonSync->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnSync ), NULL, this ); - m_directoryLeft->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GuiGenerated::OnWriteDirManually ), NULL, this ); - m_dirPickerLeft->Connect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( GuiGenerated::OnDirSelected ), NULL, this ); - m_bpButtonSwap->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnSwapDirs ), NULL, this ); - m_bpButtonRemovePair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnRemoveFolderPair ), NULL, this ); - m_bpButtonAddPair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnAddFolderPair ), NULL, this ); - m_directoryRight->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GuiGenerated::OnWriteDirManually ), NULL, this ); - m_dirPickerRight->Connect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( GuiGenerated::OnDirSelected ), NULL, this ); - m_gridLeft->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( GuiGenerated::OnLeftGridDoubleClick ), NULL, this ); - m_gridLeft->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( GuiGenerated::OnOpenContextMenu ), NULL, this ); - m_gridLeft->Connect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( GuiGenerated::OnSortLeftGrid ), NULL, this ); - m_gridMiddle->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( GuiGenerated::OnOpenContextMenu ), NULL, this ); - m_gridRight->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( GuiGenerated::OnRightGridDoubleClick ), NULL, this ); - m_gridRight->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( GuiGenerated::OnOpenContextMenu ), NULL, this ); - m_gridRight->Connect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( GuiGenerated::OnSortRightGrid ), NULL, this ); - m_bpButton201->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnSaveConfig ), NULL, this ); - m_choiceLoad->Connect( wxEVT_CHAR, wxKeyEventHandler( GuiGenerated::OnChoiceKeyEvent ), NULL, this ); - m_choiceLoad->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GuiGenerated::OnLoadConfig ), NULL, this ); - m_bpButtonLeftOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnLeftOnlyFiles ), NULL, this ); - m_bpButtonLeftNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnLeftNewerFiles ), NULL, this ); - m_bpButtonEqual->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnEqualFiles ), NULL, this ); - m_bpButtonDifferent->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnDifferentFiles ), NULL, this ); - m_bpButtonRightNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnRightNewerFiles ), NULL, this ); - m_bpButtonRightOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnRightOnlyFiles ), NULL, this ); - m_bpButton10->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnQuit ), NULL, this ); + this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainDialogGenerated::OnClose ) ); + this->Connect( m_menuItem10->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnCompare ) ); + this->Connect( m_menuItem11->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnSync ) ); + this->Connect( m_menuItem14->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuSaveConfig ) ); + this->Connect( m_menuItem13->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLoadConfig ) ); + this->Connect( m_menuItem4->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuQuit ) ); + this->Connect( m_menuItemGerman->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangGerman ) ); + this->Connect( m_menuItemEnglish->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangEnglish ) ); + this->Connect( m_menuItemFrench->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangFrench ) ); + this->Connect( m_menuItemDutch->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangDutch ) ); + this->Connect( m_menuItemJapanese->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangJapanese ) ); + this->Connect( m_menuItemChineseSimple->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangChineseSimp ) ); + this->Connect( m_menuItem7->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuBatchJob ) ); + this->Connect( m_menuItemAdjustTimes->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuAdjustFileTimes ) ); + this->Connect( m_menuItem5->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuExportFileList ) ); + this->Connect( m_menuItem3->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuAbout ) ); + m_bpButtonCompare->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnCompare ), NULL, this ); + m_buttonAbort->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnAbortCompare ), NULL, this ); + m_radioBtnSizeDate->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnCompareByTimeSize ), NULL, this ); + m_radioBtnContent->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnCompareByContent ), NULL, this ); + m_bpButton14->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnShowHelpDialog ), NULL, this ); + m_bpButtonFilter->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnFilterButton ), NULL, this ); + m_hyperlinkCfgFilter->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( MainDialogGenerated::OnConfigureFilter ), NULL, this ); + m_checkBoxHideFilt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnHideFilteredButton ), NULL, this ); + m_bpButtonSync->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSync ), NULL, this ); + m_directoryLeft->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( MainDialogGenerated::OnWriteDirManually ), NULL, this ); + m_dirPickerLeft->Connect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( MainDialogGenerated::OnDirSelected ), NULL, this ); + m_bpButtonSwap->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSwapDirs ), NULL, this ); + m_bpButtonRemovePair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnRemoveFolderPair ), NULL, this ); + m_bpButtonAddPair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnAddFolderPair ), NULL, this ); + m_directoryRight->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( MainDialogGenerated::OnWriteDirManually ), NULL, this ); + m_dirPickerRight->Connect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( MainDialogGenerated::OnDirSelected ), NULL, this ); + m_gridLeft->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( MainDialogGenerated::OnLeftGridDoubleClick ), NULL, this ); + m_gridLeft->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnOpenContextMenu ), NULL, this ); + m_gridLeft->Connect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( MainDialogGenerated::OnSortLeftGrid ), NULL, this ); + m_gridLeft->Connect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnColumnMenuLeft ), NULL, this ); + m_gridMiddle->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnOpenContextMenu ), NULL, this ); + m_gridRight->Connect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( MainDialogGenerated::OnRightGridDoubleClick ), NULL, this ); + m_gridRight->Connect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnOpenContextMenu ), NULL, this ); + m_gridRight->Connect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( MainDialogGenerated::OnSortRightGrid ), NULL, this ); + m_gridRight->Connect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnColumnMenuRight ), NULL, this ); + m_bpButton201->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSaveConfig ), NULL, this ); + m_choiceLoad->Connect( wxEVT_CHAR, wxKeyEventHandler( MainDialogGenerated::OnChoiceKeyEvent ), NULL, this ); + m_choiceLoad->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnLoadConfig ), NULL, this ); + m_bpButtonLeftOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnLeftOnlyFiles ), NULL, this ); + m_bpButtonLeftNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnLeftNewerFiles ), NULL, this ); + m_bpButtonEqual->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnEqualFiles ), NULL, this ); + m_bpButtonDifferent->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnDifferentFiles ), NULL, this ); + m_bpButtonRightNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnRightNewerFiles ), NULL, this ); + m_bpButtonRightOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnRightOnlyFiles ), NULL, this ); + m_bpButton10->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnQuit ), NULL, this ); } -GuiGenerated::~GuiGenerated() +MainDialogGenerated::~MainDialogGenerated() { // Disconnect Events - this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GuiGenerated::OnClose ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnCompare ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnSync ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuSaveConfig ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLoadConfig ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuQuit ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangGerman ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangEnglish ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangFrench ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangDutch ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuLangJapanese ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuBatchJob ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuAdjustFileTimes ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuExportFileList ) ); - this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( GuiGenerated::OnMenuAbout ) ); - m_bpButtonCompare->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnCompare ), NULL, this ); - m_buttonAbort->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnAbortCompare ), NULL, this ); - m_radioBtnSizeDate->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GuiGenerated::OnCompareByTimeSize ), NULL, this ); - m_radioBtnContent->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( GuiGenerated::OnCompareByContent ), NULL, this ); - m_bpButton14->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnShowHelpDialog ), NULL, this ); - m_bpButtonFilter->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnFilterButton ), NULL, this ); - m_hyperlinkCfgFilter->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( GuiGenerated::OnConfigureFilter ), NULL, this ); - m_checkBoxHideFilt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( GuiGenerated::OnHideFilteredButton ), NULL, this ); - m_bpButtonSync->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnSync ), NULL, this ); - m_directoryLeft->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GuiGenerated::OnWriteDirManually ), NULL, this ); - m_dirPickerLeft->Disconnect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( GuiGenerated::OnDirSelected ), NULL, this ); - m_bpButtonSwap->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnSwapDirs ), NULL, this ); - m_bpButtonRemovePair->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnRemoveFolderPair ), NULL, this ); - m_bpButtonAddPair->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnAddFolderPair ), NULL, this ); - m_directoryRight->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GuiGenerated::OnWriteDirManually ), NULL, this ); - m_dirPickerRight->Disconnect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( GuiGenerated::OnDirSelected ), NULL, this ); - m_gridLeft->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( GuiGenerated::OnLeftGridDoubleClick ), NULL, this ); - m_gridLeft->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( GuiGenerated::OnOpenContextMenu ), NULL, this ); - m_gridLeft->Disconnect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( GuiGenerated::OnSortLeftGrid ), NULL, this ); - m_gridMiddle->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( GuiGenerated::OnOpenContextMenu ), NULL, this ); - m_gridRight->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( GuiGenerated::OnRightGridDoubleClick ), NULL, this ); - m_gridRight->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( GuiGenerated::OnOpenContextMenu ), NULL, this ); - m_gridRight->Disconnect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( GuiGenerated::OnSortRightGrid ), NULL, this ); - m_bpButton201->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnSaveConfig ), NULL, this ); - m_choiceLoad->Disconnect( wxEVT_CHAR, wxKeyEventHandler( GuiGenerated::OnChoiceKeyEvent ), NULL, this ); - m_choiceLoad->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( GuiGenerated::OnLoadConfig ), NULL, this ); - m_bpButtonLeftOnly->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnLeftOnlyFiles ), NULL, this ); - m_bpButtonLeftNewer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnLeftNewerFiles ), NULL, this ); - m_bpButtonEqual->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnEqualFiles ), NULL, this ); - m_bpButtonDifferent->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnDifferentFiles ), NULL, this ); - m_bpButtonRightNewer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnRightNewerFiles ), NULL, this ); - m_bpButtonRightOnly->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnRightOnlyFiles ), NULL, this ); - m_bpButton10->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GuiGenerated::OnQuit ), NULL, this ); + this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainDialogGenerated::OnClose ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnCompare ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnSync ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuSaveConfig ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLoadConfig ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuQuit ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangGerman ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangEnglish ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangFrench ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangDutch ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangJapanese ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuLangChineseSimp ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuBatchJob ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuAdjustFileTimes ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuExportFileList ) ); + this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuAbout ) ); + m_bpButtonCompare->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnCompare ), NULL, this ); + m_buttonAbort->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnAbortCompare ), NULL, this ); + m_radioBtnSizeDate->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnCompareByTimeSize ), NULL, this ); + m_radioBtnContent->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnCompareByContent ), NULL, this ); + m_bpButton14->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnShowHelpDialog ), NULL, this ); + m_bpButtonFilter->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnFilterButton ), NULL, this ); + m_hyperlinkCfgFilter->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( MainDialogGenerated::OnConfigureFilter ), NULL, this ); + m_checkBoxHideFilt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnHideFilteredButton ), NULL, this ); + m_bpButtonSync->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSync ), NULL, this ); + m_directoryLeft->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( MainDialogGenerated::OnWriteDirManually ), NULL, this ); + m_dirPickerLeft->Disconnect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( MainDialogGenerated::OnDirSelected ), NULL, this ); + m_bpButtonSwap->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSwapDirs ), NULL, this ); + m_bpButtonRemovePair->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnRemoveFolderPair ), NULL, this ); + m_bpButtonAddPair->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnAddFolderPair ), NULL, this ); + m_directoryRight->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( MainDialogGenerated::OnWriteDirManually ), NULL, this ); + m_dirPickerRight->Disconnect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( MainDialogGenerated::OnDirSelected ), NULL, this ); + m_gridLeft->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( MainDialogGenerated::OnLeftGridDoubleClick ), NULL, this ); + m_gridLeft->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnOpenContextMenu ), NULL, this ); + m_gridLeft->Disconnect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( MainDialogGenerated::OnSortLeftGrid ), NULL, this ); + m_gridLeft->Disconnect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnColumnMenuLeft ), NULL, this ); + m_gridMiddle->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnOpenContextMenu ), NULL, this ); + m_gridRight->Disconnect( wxEVT_GRID_CELL_LEFT_DCLICK, wxGridEventHandler( MainDialogGenerated::OnRightGridDoubleClick ), NULL, this ); + m_gridRight->Disconnect( wxEVT_GRID_CELL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnOpenContextMenu ), NULL, this ); + m_gridRight->Disconnect( wxEVT_GRID_LABEL_LEFT_CLICK, wxGridEventHandler( MainDialogGenerated::OnSortRightGrid ), NULL, this ); + m_gridRight->Disconnect( wxEVT_GRID_LABEL_RIGHT_CLICK, wxGridEventHandler( MainDialogGenerated::OnColumnMenuRight ), NULL, this ); + m_bpButton201->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSaveConfig ), NULL, this ); + m_choiceLoad->Disconnect( wxEVT_CHAR, wxKeyEventHandler( MainDialogGenerated::OnChoiceKeyEvent ), NULL, this ); + m_choiceLoad->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnLoadConfig ), NULL, this ); + m_bpButtonLeftOnly->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnLeftOnlyFiles ), NULL, this ); + m_bpButtonLeftNewer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnLeftNewerFiles ), NULL, this ); + m_bpButtonEqual->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnEqualFiles ), NULL, this ); + m_bpButtonDifferent->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnDifferentFiles ), NULL, this ); + m_bpButtonRightNewer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnRightNewerFiles ), NULL, this ); + m_bpButtonRightOnly->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnRightOnlyFiles ), NULL, this ); + m_bpButton10->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnQuit ), NULL, this ); } FolderPairGenerated::FolderPairGenerated( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style ) @@ -1043,17 +1052,17 @@ BatchDlgGenerated::BatchDlgGenerated( wxWindow* parent, wxWindowID id, const wxS wxBoxSizer* bSizer68; bSizer68 = new wxBoxSizer( wxHORIZONTAL ); - m_button6 = new wxButton( this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 ); - m_button6->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) ); - - bSizer68->Add( m_button6, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); - m_buttonCreate = new wxButton( this, wxID_ANY, _("&Create"), wxDefaultPosition, wxSize( 120,35 ), 0 ); m_buttonCreate->SetDefault(); m_buttonCreate->SetFont( wxFont( 10, 74, 90, 92, false, wxT("Tahoma") ) ); bSizer68->Add( m_buttonCreate, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 ); + m_button6 = new wxButton( this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 ); + m_button6->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) ); + + bSizer68->Add( m_button6, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + bSizer69->Add( bSizer68, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); bSizer54->Add( bSizer69, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 ); @@ -1075,8 +1084,8 @@ BatchDlgGenerated::BatchDlgGenerated( wxWindow* parent, wxWindowID id, const wxS m_bpButton7->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnLeftNewer ), NULL, this ); m_bpButton8->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnRightNewer ), NULL, this ); m_bpButton9->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnDifferent ), NULL, this ); - m_button6->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnCancel ), NULL, this ); m_buttonCreate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnCreateBatchJob ), NULL, this ); + m_button6->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnCancel ), NULL, this ); } BatchDlgGenerated::~BatchDlgGenerated() @@ -1092,8 +1101,8 @@ BatchDlgGenerated::~BatchDlgGenerated() m_bpButton7->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnLeftNewer ), NULL, this ); m_bpButton8->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnRightNewer ), NULL, this ); m_bpButton9->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnDifferent ), NULL, this ); - m_button6->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnCancel ), NULL, this ); m_buttonCreate->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnCreateBatchJob ), NULL, this ); + m_button6->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnCancel ), NULL, this ); } BatchFolderPairGenerated::BatchFolderPairGenerated( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style ) @@ -1852,7 +1861,7 @@ HelpDlgGenerated::HelpDlgGenerated( wxWindow* parent, wxWindowID id, const wxStr bSizer70->Add( m_treeCtrl1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 ); - m_staticText63 = new wxStaticText( m_scrolledWindow1, wxID_ANY, _("As a result 6 different status can be returned to categorize all files:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText63 = new wxStaticText( m_scrolledWindow1, wxID_ANY, _("As a result the files are separated into the following categories:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText63->Wrap( 500 ); bSizer70->Add( m_staticText63, 0, wxALL, 5 ); @@ -2042,7 +2051,7 @@ AboutDlgGenerated::AboutDlgGenerated( wxWindow* parent, wxWindowID id, const wxS bSizer72->Add( m_staticText54, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxBOTTOM, 5 ); wxFlexGridSizer* fgSizer9; - fgSizer9 = new wxFlexGridSizer( 2, 2, 5, 20 ); + fgSizer9 = new wxFlexGridSizer( 4, 2, 5, 20 ); fgSizer9->SetFlexibleDirection( wxBOTH ); fgSizer9->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); @@ -2070,7 +2079,15 @@ AboutDlgGenerated::AboutDlgGenerated( wxWindow* parent, wxWindowID id, const wxS m_staticText712->Wrap( -1 ); fgSizer9->Add( m_staticText712, 0, wxALIGN_CENTER_VERTICAL, 5 ); - bSizer72->Add( fgSizer9, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM, 5 ); + m_staticText91 = new wxStaticText( m_scrolledWindow3, wxID_ANY, _("Misty Wu"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText91->Wrap( -1 ); + fgSizer9->Add( m_staticText91, 0, wxALIGN_CENTER_VERTICAL, 5 ); + + m_staticText92 = new wxStaticText( m_scrolledWindow3, wxID_ANY, _("简体中文"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText92->Wrap( -1 ); + fgSizer9->Add( m_staticText92, 0, wxALIGN_CENTER_VERTICAL, 5 ); + + bSizer72->Add( fgSizer9, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); m_scrolledWindow3->SetSizer( bSizer72 ); m_scrolledWindow3->Layout(); @@ -2309,17 +2326,17 @@ WarningDlgGenerated::WarningDlgGenerated( wxWindow* parent, wxWindowID id, const bSizer25->Add( m_buttonResolve, 0, wxTOP|wxBOTTOM|wxLEFT, 5 ); - m_buttonAbort = new wxButton( this, wxID_CANCEL, _("&Abort"), wxDefaultPosition, wxSize( -1,30 ), 0 ); - m_buttonAbort->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) ); - - bSizer25->Add( m_buttonAbort, 0, wxTOP|wxBOTTOM|wxLEFT, 5 ); - m_buttonOK = new wxButton( this, wxID_OK, _("&OK"), wxDefaultPosition, wxSize( -1,30 ), 0 ); m_buttonOK->SetDefault(); m_buttonOK->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) ); bSizer25->Add( m_buttonOK, 0, wxTOP|wxBOTTOM|wxLEFT, 5 ); + m_buttonAbort = new wxButton( this, wxID_CANCEL, _("&Abort"), wxDefaultPosition, wxSize( -1,30 ), 0 ); + m_buttonAbort->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) ); + + bSizer25->Add( m_buttonAbort, 0, wxTOP|wxBOTTOM|wxLEFT, 5 ); + bSizer25->Add( 5, 0, 0, wxALIGN_CENTER_VERTICAL, 5 ); @@ -2332,8 +2349,8 @@ WarningDlgGenerated::WarningDlgGenerated( wxWindow* parent, wxWindowID id, const this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( WarningDlgGenerated::OnClose ) ); m_buttonIgnore->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnIgnore ), NULL, this ); m_buttonResolve->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnResolve ), NULL, this ); - m_buttonAbort->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnAbort ), NULL, this ); m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnOkay ), NULL, this ); + m_buttonAbort->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnAbort ), NULL, this ); } WarningDlgGenerated::~WarningDlgGenerated() @@ -2342,8 +2359,8 @@ WarningDlgGenerated::~WarningDlgGenerated() this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( WarningDlgGenerated::OnClose ) ); m_buttonIgnore->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnIgnore ), NULL, this ); m_buttonResolve->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnResolve ), NULL, this ); - m_buttonAbort->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnAbort ), NULL, this ); m_buttonOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnOkay ), NULL, this ); + m_buttonAbort->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( WarningDlgGenerated::OnAbort ), NULL, this ); } DeleteDlgGenerated::DeleteDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) @@ -2593,15 +2610,15 @@ FilterDlgGenerated::FilterDlgGenerated( wxWindow* parent, wxWindowID id, const w bSizer22->Add( 0, 0, 1, wxEXPAND, 5 ); - m_button17 = new wxButton( this, wxID_CANCEL, _("dummy"), wxDefaultPosition, wxSize( 0,0 ), 0 ); - bSizer22->Add( m_button17, 0, wxALIGN_BOTTOM, 5 ); - m_button10 = new wxButton( this, wxID_OK, _("&OK"), wxDefaultPosition, wxSize( -1,30 ), 0 ); m_button10->SetDefault(); m_button10->SetFont( wxFont( 10, 74, 90, 92, false, wxT("Tahoma") ) ); bSizer22->Add( m_button10, 0, wxALL, 5 ); + m_button17 = new wxButton( this, wxID_CANCEL, _("dummy"), wxDefaultPosition, wxSize( 0,0 ), 0 ); + bSizer22->Add( m_button17, 0, wxALIGN_BOTTOM, 5 ); + bSizer21->Add( bSizer22, 0, wxEXPAND|wxTOP, 5 ); this->SetSizer( bSizer21 ); @@ -2614,8 +2631,8 @@ FilterDlgGenerated::FilterDlgGenerated( wxWindow* parent, wxWindowID id, const w this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( FilterDlgGenerated::OnClose ) ); m_bpButtonHelp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnHelp ), NULL, this ); m_button9->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnDefault ), NULL, this ); - m_button17->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnCancel ), NULL, this ); m_button10->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnOK ), NULL, this ); + m_button17->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnCancel ), NULL, this ); } FilterDlgGenerated::~FilterDlgGenerated() @@ -2624,8 +2641,8 @@ FilterDlgGenerated::~FilterDlgGenerated() this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( FilterDlgGenerated::OnClose ) ); m_bpButtonHelp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnHelp ), NULL, this ); m_button9->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnDefault ), NULL, this ); - m_button17->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnCancel ), NULL, this ); m_button10->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnOK ), NULL, this ); + m_button17->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnCancel ), NULL, this ); } ModifyFilesDlgGenerated::ModifyFilesDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) @@ -2690,7 +2707,7 @@ ModifyFilesDlgGenerated::ModifyFilesDlgGenerated( wxWindow* parent, wxWindowID i bSizer80->Add( 0, 5, 0, wxEXPAND, 5 ); wxStaticBoxSizer* sbSizer24; - sbSizer24 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Select folder") ), wxHORIZONTAL ); + sbSizer24 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Select a folder") ), wxHORIZONTAL ); m_textCtrlDirectory = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); sbSizer24->Add( m_textCtrlDirectory, 1, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); @@ -2711,17 +2728,17 @@ ModifyFilesDlgGenerated::ModifyFilesDlgGenerated( wxWindow* parent, wxWindowID i wxBoxSizer* bSizer83; bSizer83 = new wxBoxSizer( wxHORIZONTAL ); - m_button21 = new wxButton( this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 ); - m_button21->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) ); - - bSizer83->Add( m_button21, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); - m_buttonApply = new wxButton( this, wxID_APPLY, _("Apply"), wxDefaultPosition, wxSize( -1,35 ), 0 ); m_buttonApply->SetDefault(); m_buttonApply->SetFont( wxFont( 10, 74, 90, 92, false, wxT("Tahoma") ) ); bSizer83->Add( m_buttonApply, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + m_button21 = new wxButton( this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 ); + m_button21->SetFont( wxFont( 10, 74, 90, 90, false, wxT("Tahoma") ) ); + + bSizer83->Add( m_button21, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + bSizer80->Add( bSizer83, 0, wxALIGN_CENTER_HORIZONTAL, 5 ); this->SetSizer( bSizer80 ); @@ -2732,8 +2749,8 @@ ModifyFilesDlgGenerated::ModifyFilesDlgGenerated( wxWindow* parent, wxWindowID i this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( ModifyFilesDlgGenerated::OnClose ) ); m_textCtrlDirectory->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ModifyFilesDlgGenerated::OnWriteDirManually ), NULL, this ); m_dirPicker->Connect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( ModifyFilesDlgGenerated::OnDirSelected ), NULL, this ); - m_button21->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModifyFilesDlgGenerated::OnCancel ), NULL, this ); m_buttonApply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModifyFilesDlgGenerated::OnApply ), NULL, this ); + m_button21->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModifyFilesDlgGenerated::OnCancel ), NULL, this ); } ModifyFilesDlgGenerated::~ModifyFilesDlgGenerated() @@ -2742,6 +2759,6 @@ ModifyFilesDlgGenerated::~ModifyFilesDlgGenerated() this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( ModifyFilesDlgGenerated::OnClose ) ); m_textCtrlDirectory->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ModifyFilesDlgGenerated::OnWriteDirManually ), NULL, this ); m_dirPicker->Disconnect( wxEVT_COMMAND_DIRPICKER_CHANGED, wxFileDirPickerEventHandler( ModifyFilesDlgGenerated::OnDirSelected ), NULL, this ); - m_button21->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModifyFilesDlgGenerated::OnCancel ), NULL, this ); m_buttonApply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModifyFilesDlgGenerated::OnApply ), NULL, this ); + m_button21->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ModifyFilesDlgGenerated::OnCancel ), NULL, this ); } diff --git a/ui/guiGenerated.h b/ui/guiGenerated.h index fd3e9c0f..d2c64166 100644 --- a/ui/guiGenerated.h +++ b/ui/guiGenerated.h @@ -49,9 +49,9 @@ class CustomGrid; /////////////////////////////////////////////////////////////////////////////// -/// Class GuiGenerated +/// Class MainDialogGenerated /////////////////////////////////////////////////////////////////////////////// -class GuiGenerated : public wxFrame +class MainDialogGenerated : public wxFrame { private: @@ -67,6 +67,7 @@ class GuiGenerated : public wxFrame wxMenuItem* m_menuItemFrench; wxMenuItem* m_menuItemDutch; wxMenuItem* m_menuItemJapanese; + wxMenuItem* m_menuItemChineseSimple; wxMenuItem* m_menuItem7; wxMenuItem* m_menuItemAdjustTimes; wxMenu* m_menu2; @@ -150,6 +151,7 @@ class GuiGenerated : public wxFrame virtual void OnMenuLangFrench( wxCommandEvent& event ){ event.Skip(); } virtual void OnMenuLangDutch( wxCommandEvent& event ){ event.Skip(); } virtual void OnMenuLangJapanese( wxCommandEvent& event ){ event.Skip(); } + virtual void OnMenuLangChineseSimp( wxCommandEvent& event ){ event.Skip(); } virtual void OnMenuBatchJob( wxCommandEvent& event ){ event.Skip(); } virtual void OnMenuAdjustFileTimes( wxCommandEvent& event ){ event.Skip(); } virtual void OnMenuExportFileList( wxCommandEvent& event ){ event.Skip(); } @@ -169,8 +171,10 @@ class GuiGenerated : public wxFrame virtual void OnLeftGridDoubleClick( wxGridEvent& event ){ event.Skip(); } virtual void OnOpenContextMenu( wxGridEvent& event ){ event.Skip(); } virtual void OnSortLeftGrid( wxGridEvent& event ){ event.Skip(); } + virtual void OnColumnMenuLeft( wxGridEvent& event ){ event.Skip(); } virtual void OnRightGridDoubleClick( wxGridEvent& event ){ event.Skip(); } virtual void OnSortRightGrid( wxGridEvent& event ){ event.Skip(); } + virtual void OnColumnMenuRight( wxGridEvent& event ){ event.Skip(); } virtual void OnSaveConfig( wxCommandEvent& event ){ event.Skip(); } virtual void OnChoiceKeyEvent( wxKeyEvent& event ){ event.Skip(); } virtual void OnLoadConfig( wxCommandEvent& event ){ event.Skip(); } @@ -184,8 +188,8 @@ class GuiGenerated : public wxFrame public: - GuiGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("FreeFileSync - Folder Comparison and Synchronization"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 933,612 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); - ~GuiGenerated(); + MainDialogGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("FreeFileSync - Folder Comparison and Synchronization"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 933,612 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); + ~MainDialogGenerated(); }; @@ -267,8 +271,8 @@ class BatchDlgGenerated : public wxDialog wxStaticBitmap* m_bitmap17; wxBitmapButton* m_bpButton9; wxStaticLine* m_staticline9; - wxButton* m_button6; wxButton* m_buttonCreate; + wxButton* m_button6; // Virtual event handlers, overide them in your derived class virtual void OnClose( wxCloseEvent& event ){ event.Skip(); } @@ -280,8 +284,8 @@ class BatchDlgGenerated : public wxDialog virtual void OnLeftNewer( wxCommandEvent& event ){ event.Skip(); } virtual void OnRightNewer( wxCommandEvent& event ){ event.Skip(); } virtual void OnDifferent( wxCommandEvent& event ){ event.Skip(); } - virtual void OnCancel( wxCommandEvent& event ){ event.Skip(); } virtual void OnCreateBatchJob( wxCommandEvent& event ){ event.Skip(); } + virtual void OnCancel( wxCommandEvent& event ){ event.Skip(); } public: @@ -546,6 +550,8 @@ class AboutDlgGenerated : public wxDialog wxStaticText* m_staticText71; wxStaticText* m_staticText711; wxStaticText* m_staticText712; + wxStaticText* m_staticText91; + wxStaticText* m_staticText92; wxStaticLine* m_staticline3; wxStaticText* m_staticText131; wxStaticBitmap* m_bitmap9; @@ -622,16 +628,16 @@ class WarningDlgGenerated : public wxDialog wxButton* m_buttonIgnore; wxButton* m_buttonResolve; - wxButton* m_buttonAbort; wxButton* m_buttonOK; + wxButton* m_buttonAbort; // Virtual event handlers, overide them in your derived class virtual void OnClose( wxCloseEvent& event ){ event.Skip(); } virtual void OnIgnore( wxCommandEvent& event ){ event.Skip(); } virtual void OnResolve( wxCommandEvent& event ){ event.Skip(); } - virtual void OnAbort( wxCommandEvent& event ){ event.Skip(); } virtual void OnOkay( wxCommandEvent& event ){ event.Skip(); } + virtual void OnAbort( wxCommandEvent& event ){ event.Skip(); } public: @@ -706,15 +712,15 @@ class FilterDlgGenerated : public wxDialog wxButton* m_button9; - wxButton* m_button17; wxButton* m_button10; + wxButton* m_button17; // Virtual event handlers, overide them in your derived class virtual void OnClose( wxCloseEvent& event ){ event.Skip(); } virtual void OnHelp( wxCommandEvent& event ){ event.Skip(); } virtual void OnDefault( wxCommandEvent& event ){ event.Skip(); } - virtual void OnCancel( wxCommandEvent& event ){ event.Skip(); } virtual void OnOK( wxCommandEvent& event ){ event.Skip(); } + virtual void OnCancel( wxCommandEvent& event ){ event.Skip(); } public: @@ -744,15 +750,15 @@ class ModifyFilesDlgGenerated : public wxDialog wxTextCtrl* m_textCtrlDirectory; wxDirPickerCtrl* m_dirPicker; wxSpinCtrl* m_spinCtrlTimeShift; - wxButton* m_button21; wxButton* m_buttonApply; + wxButton* m_button21; // Virtual event handlers, overide them in your derived class virtual void OnClose( wxCloseEvent& event ){ event.Skip(); } virtual void OnWriteDirManually( wxCommandEvent& event ){ event.Skip(); } virtual void OnDirSelected( wxFileDirPickerEvent& event ){ event.Skip(); } - virtual void OnCancel( wxCommandEvent& event ){ event.Skip(); } virtual void OnApply( wxCommandEvent& event ){ event.Skip(); } + virtual void OnCancel( wxCommandEvent& event ){ event.Skip(); } public: |