Index: src/ch/FeedbackReplaceDlg.cpp =================================================================== diff -u -N -r09127018dfb45c37cae3486731d219eee147b1ae -rf13be87a570836c2589ef2d127a5e1e8904f6b79 --- src/ch/FeedbackReplaceDlg.cpp (.../FeedbackReplaceDlg.cpp) (revision 09127018dfb45c37cae3486731d219eee147b1ae) +++ src/ch/FeedbackReplaceDlg.cpp (.../FeedbackReplaceDlg.cpp) (revision f13be87a570836c2589ef2d127a5e1e8904f6b79) @@ -62,6 +62,9 @@ ON_BN_CLICKED(IDC_PAUSE_BUTTON, &CFeedbackReplaceDlg::OnBnClickedPauseButton) ON_BN_CLICKED(IDC_CANCEL_BUTTON, &CFeedbackReplaceDlg::OnBnClickedCancelButton) ON_BN_CLICKED(IDC_MASS_REPLACE_MENUBUTTON, &CFeedbackReplaceDlg::OnBnMassReplace) + ON_BN_CLICKED(IDC_MASS_RENAME_MENUBUTTON, &CFeedbackReplaceDlg::OnBnMassRename) + ON_BN_CLICKED(IDC_MASS_RESUME_MENUBUTTON, &CFeedbackReplaceDlg::OnBnMassResume) + ON_BN_CLICKED(IDC_MASS_SKIP_MENUBUTTON, &CFeedbackReplaceDlg::OnBnMassSkip) END_MESSAGE_MAP() @@ -121,13 +124,19 @@ RefreshFilesInfo(); RefreshImages(); - HMENU hMenu = GetResManager().LoadMenu(MAKEINTRESOURCE(IDR_PRIORITY_MENU)); - m_mfcMenu.Attach(hMenu); + HMENU hMenu = GetResManager().LoadMenu(MAKEINTRESOURCE(IDR_FEEDBACK_MASS_REPLACE_MENU)); + m_menuMassReplace.Attach(hMenu); + hMenu = GetResManager().LoadMenu(MAKEINTRESOURCE(IDR_FEEDBACK_MASS_RENAME_MENU)); + m_menuMassRename.Attach(hMenu); + hMenu = GetResManager().LoadMenu(MAKEINTRESOURCE(IDR_FEEDBACK_MASS_RESUME_MENU)); + m_menuMassResume.Attach(hMenu); + hMenu = GetResManager().LoadMenu(MAKEINTRESOURCE(IDR_FEEDBACK_MASS_SKIP_MENU)); + m_menuMassSkip.Attach(hMenu); - m_btnMassReplace.m_hMenu = m_mfcMenu.GetSubMenu(0)->GetSafeHmenu(); - m_btnMassResume.m_hMenu = m_mfcMenu.GetSubMenu(0)->GetSafeHmenu(); - m_btnMassRename.m_hMenu = m_mfcMenu.GetSubMenu(0)->GetSafeHmenu(); - m_btnMassSkip.m_hMenu = m_mfcMenu.GetSubMenu(0)->GetSafeHmenu(); + m_btnMassReplace.m_hMenu = m_menuMassReplace.GetSubMenu(0)->GetSafeHmenu(); + m_btnMassResume.m_hMenu = m_menuMassResume.GetSubMenu(0)->GetSafeHmenu(); + m_btnMassRename.m_hMenu = m_menuMassRename.GetSubMenu(0)->GetSafeHmenu(); + m_btnMassSkip.m_hMenu = m_menuMassSkip.GetSubMenu(0)->GetSafeHmenu(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE @@ -222,19 +231,91 @@ CString str; switch (m_btnMassReplace.m_nMenuResult) { - case ID_POPUP_TIME_CRITICAL: - str = L"first menu item clicked"; + case ID_FEEDBACK_REPLACE_ALLEXISTINGFILES: + str = L"Replace all existing files"; break; - case ID_POPUP_HIGHEST: - str = L"second menu item clicked"; + case ID_FEEDBACK_REPLACE_FILESWITHDIFFERENTDATESORSIZES: + str = L"Replace files with different dates or sizes"; break; + case ID_FEEDBACK_REPLACE_OLDERFILESWITHNEWERVERSIONS: + str = L"Replace older files with newer ones"; + break; + case ID_FEEDBACK_REPLACE_NEWERFILESWITHOLDERVERSIONS: + str = L"Replace newer files with older ones"; + break; default: str = L"Default"; break; } MessageBox(str); } +void CFeedbackReplaceDlg::OnBnMassRename() +{ + CString str; + switch (m_btnMassRename.m_nMenuResult) + { + case ID_FEEDBACK_RENAME_WHENDESTIONATIONFILEEXISTS: + str = L"Rename when destination file exists"; + break; + case ID_FEEDBACK_RENAME_WHENDATEORSIZEDIFFERS: + str = L"Rename when size or date differs"; + break; + case ID_FEEDBACK_RENAME_WHENDATEANDSZEARESAME: + str = L"Rename when date and size are same"; + break; + case ID_FEEDBACK_RENAME_WHENNEWERTHANDESTINATION: + str = L"Rename when newer than destination"; + break; + case ID_FEEDBACK_RENAME_WHENOLDERTHANDESTINATION: + str = L"Rename when older than destination"; + break; + default: + str = L"Default"; + break; + } + MessageBox(str); +} + +void CFeedbackReplaceDlg::OnBnMassResume() +{ + CString str; + switch (m_btnMassResume.m_nMenuResult) + { + case ID_FEEDBACK_RESUME_WHENFILEBIGGERTHANDESTINATION: + str = L"Resume when file is bigger than destination"; + break; + default: + str = L"Default"; + break; + } + MessageBox(str); +} + +void CFeedbackReplaceDlg::OnBnMassSkip() +{ + CString str; + switch (m_btnMassSkip.m_nMenuResult) + { + case ID_FEEDBACK_SKIP_ALLEXISTINGDESTINATIONFILES: + str = L"Skip all files already existing in destination dir"; + break; + case ID_FEEDBACK_SKIP_ALLFILESWITHSAMEDATESANDSIZES: + str = L"Skip files with same date and size"; + break; + case ID_FEEDBACK_SKIP_FILESTHATAREOLDERTHANDESTINATION: + str = L"Skip files that are older than existing destination"; + break; + case ID_FEEDBACK_SKIP_FILESTHATARENEWERTHANDESTINATION: + str = L"Skip files that are newer than destination"; + break; + default: + str = L"Default"; + break; + } + MessageBox(str); +} + void CFeedbackReplaceDlg::OnCancel() { UpdateData(TRUE); Index: src/ch/FeedbackReplaceDlg.h =================================================================== diff -u -N -r09127018dfb45c37cae3486731d219eee147b1ae -rf13be87a570836c2589ef2d127a5e1e8904f6b79 --- src/ch/FeedbackReplaceDlg.h (.../FeedbackReplaceDlg.h) (revision 09127018dfb45c37cae3486731d219eee147b1ae) +++ src/ch/FeedbackReplaceDlg.h (.../FeedbackReplaceDlg.h) (revision f13be87a570836c2589ef2d127a5e1e8904f6b79) @@ -59,15 +59,18 @@ CEdit m_ctlDstSize; CEdit m_ctlDstDate; - CMenu m_mfcMenu; - CMFCButton m_btnReplace; CMFCButton m_btnRename; CMFCButton m_btnResume; CMFCButton m_btnSkip; CMFCButton m_btnPause; CMFCButton m_btnCancel; + CMenu m_menuMassReplace; + CMenu m_menuMassRename; + CMenu m_menuMassResume; + CMenu m_menuMassSkip; + CMFCMenuButton m_btnMassReplace; CMFCMenuButton m_btnMassRename; CMFCMenuButton m_btnMassResume; @@ -85,7 +88,11 @@ afx_msg void OnBnClickedSkipButton(); afx_msg void OnBnClickedPauseButton(); afx_msg void OnBnClickedCancelButton(); + afx_msg void OnBnMassReplace(); + afx_msg void OnBnMassRename(); + afx_msg void OnBnMassResume(); + afx_msg void OnBnMassSkip(); }; #endif Index: src/ch/ch.rc =================================================================== diff -u -N -r09127018dfb45c37cae3486731d219eee147b1ae -rf13be87a570836c2589ef2d127a5e1e8904f6b79 --- src/ch/ch.rc (.../ch.rc) (revision 09127018dfb45c37cae3486731d219eee147b1ae) +++ src/ch/ch.rc (.../ch.rc) (revision f13be87a570836c2589ef2d127a5e1e8904f6b79) @@ -792,7 +792,55 @@ END END +IDR_FEEDBACK_MASS_REPLACE_MENU MENU +BEGIN + POPUP "POPUP" + BEGIN + MENUITEM "Replace all existing files", ID_FEEDBACK_REPLACE_ALLEXISTINGFILES + MENUITEM SEPARATOR + MENUITEM "Replace files with different dates/sizes", ID_FEEDBACK_REPLACE_FILESWITHDIFFERENTDATESORSIZES + MENUITEM SEPARATOR + MENUITEM "Replace older files with newer versions", ID_FEEDBACK_REPLACE_OLDERFILESWITHNEWERVERSIONS + MENUITEM "Replace newer files with older versions", ID_FEEDBACK_REPLACE_NEWERFILESWITHOLDERVERSIONS + END +END +IDR_FEEDBACK_MASS_RENAME_MENU MENU +BEGIN + POPUP "POPUP" + BEGIN + MENUITEM "Auto-rename when destination file exists", ID_FEEDBACK_RENAME_WHENDESTIONATIONFILEEXISTS + MENUITEM SEPARATOR + MENUITEM "Auto-rename when file date or size differs", ID_FEEDBACK_RENAME_WHENDATEORSIZEDIFFERS + MENUITEM "Auto-rename when file date and size are same", ID_FEEDBACK_RENAME_WHENDATEANDSZEARESAME + MENUITEM SEPARATOR + MENUITEM "Auto-rename files when newer than destination", ID_FEEDBACK_RENAME_WHENNEWERTHANDESTINATION + MENUITEM "Auto-rename files when older than destination", ID_FEEDBACK_RENAME_WHENOLDERTHANDESTINATION + END +END + +IDR_FEEDBACK_MASS_RESUME_MENU MENU +BEGIN + POPUP "POPUP" + BEGIN + MENUITEM "Resume when file bigger than destination", ID_FEEDBACK_RESUME_WHENFILEBIGGERTHANDESTINATION + END +END + + +IDR_FEEDBACK_MASS_SKIP_MENU MENU +BEGIN + POPUP "POPUP" + BEGIN + MENUITEM "Skip all existing destination files", ID_FEEDBACK_SKIP_ALLEXISTINGDESTINATIONFILES + MENUITEM SEPARATOR + MENUITEM "Skip all files with same dates and sizes", ID_FEEDBACK_SKIP_ALLFILESWITHSAMEDATESANDSIZES + MENUITEM "Skip files that are older than destination", ID_FEEDBACK_SKIP_FILESTHATAREOLDERTHANDESTINATION + MENUITEM SEPARATOR + MENUITEM "Skip files that are newer than destination", ID_FEEDBACK_SKIP_FILESTHATARENEWERTHANDESTINATION + END +END + #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // Index: src/ch/resource.h =================================================================== diff -u -N -r09127018dfb45c37cae3486731d219eee147b1ae -rf13be87a570836c2589ef2d127a5e1e8904f6b79 --- src/ch/resource.h (.../resource.h) (revision 09127018dfb45c37cae3486731d219eee147b1ae) +++ src/ch/resource.h (.../resource.h) (revision f13be87a570836c2589ef2d127a5e1e8904f6b79) @@ -54,6 +54,10 @@ #define IDD_FEEDBACK_REPLACE_DIALOG 214 #define IDD_MSGBOX_DIALOG 215 #define IDR_TASK_ADVANCED_MENU 216 +#define IDR_FEEDBACK_MASS_REPLACE_MENU 225 +#define IDR_FEEDBACK_MASS_SKIP_MENU 226 +#define IDR_FEEDBACK_MASS_RENAME_MENU 228 +#define IDR_FEEDBACK_MASS_RESUME_MENU 230 #define IDC_PROGRAM_STATIC 1000 #define IDC_ADDFILE_BUTTON 1002 #define IDC_STATUS_LIST 1003 @@ -731,14 +735,28 @@ #define ID_POPUP_CHECKFORUPDATES 32816 #define ID_POPUP_TOOLS 32817 #define ID_POPUP_RESET_APPLY_TO_ALL 32818 +#define ID_FEEDBACK_REPLACE_ALLEXISTINGFILES 32819 +#define ID_FEEDBACK_REPLACE_FILESWITHDIFFERENTDATESORSIZES 32820 +#define ID_FEEDBACK_REPLACE_OLDERFILESWITHNEWERVERSIONS 32821 +#define ID_FEEDBACK_REPLACE_NEWERFILESWITHOLDERVERSIONS 32822 +#define ID_FEEDBACK_SKIP_ALLEXISTINGDESTINATIONFILES 32823 +#define ID_FEEDBACK_SKIP_ALLFILESWITHSAMEDATESANDSIZES 32824 +#define ID_FEEDBACK_SKIP_FILESTHATAREOLDERTHANDESTINATION 32825 +#define ID_FEEDBACK_SKIP_FILESTHATARENEWERTHANDESTINATION 32826 +#define ID_FEEDBACK_RENAME_WHENDESTIONATIONFILEEXISTS 32827 +#define ID_FEEDBACK_RENAME_WHENDATEORSIZEDIFFERS 32828 +#define ID_FEEDBACK_RENAME_WHENDATEANDSZEARESAME 32829 +#define ID_FEEDBACK_RENAME_WHENNEWERTHANDESTINATION 32830 +#define ID_FEEDBACK_RENAME_WHENOLDERTHANDESTINATION 32831 +#define ID_FEEDBACK_RESUME_WHENFILEBIGGERTHANDESTINATION 32832 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_3D_CONTROLS 1 -#define _APS_NEXT_RESOURCE_VALUE 225 -#define _APS_NEXT_COMMAND_VALUE 32819 +#define _APS_NEXT_RESOURCE_VALUE 231 +#define _APS_NEXT_COMMAND_VALUE 32833 #define _APS_NEXT_CONTROL_VALUE 1387 #define _APS_NEXT_SYMED_VALUE 101 #endif