Index: src/ch/ClipboardMonitor.cpp
===================================================================
diff -u -rfa1b3554856407e4501db20d5093818e8d8c4068 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/ClipboardMonitor.cpp	(.../ClipboardMonitor.cpp)	(revision fa1b3554856407e4501db20d5093818e8d8c4068)
+++ src/ch/ClipboardMonitor.cpp	(.../ClipboardMonitor.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -106,18 +106,15 @@
 			// operation type
 			chengine::EOperationType eOperation = chengine::eOperation_Copy;
 
-			if(IsClipboardFormatAvailable(nFormat))
+			if(IsClipboardFormatAvailable(nFormat) && (handle = GetClipboardData(nFormat)) != nullptr)
 			{
-				handle=GetClipboardData(nFormat);
-				LPVOID addr=GlobalLock(handle);
+				LPVOID addr = GlobalLock(handle);
 
-				DWORD dwData=((DWORD*)addr)[0];
-				if(dwData & DROPEFFECT_COPY)
+				DWORD dwData = ((DWORD*)addr)[0];
+				if (dwData & DROPEFFECT_COPY)
 					eOperation = chengine::eOperation_Copy;	// copy
-				else if(dwData & DROPEFFECT_MOVE)
+				else if (dwData & DROPEFFECT_MOVE)
 					eOperation = chengine::eOperation_Move;	// move
-
-				GlobalUnlock(handle);
 			}
 			else
 				eOperation = chengine::eOperation_Copy;	// default - copy
Index: src/ch/DirTreeCtrl.cpp
===================================================================
diff -u -r9ddf8fdd5f641491dd30c49eb90f8f740314b6af -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/DirTreeCtrl.cpp	(.../DirTreeCtrl.cpp)	(revision 9ddf8fdd5f641491dd30c49eb90f8f740314b6af)
+++ src/ch/DirTreeCtrl.cpp	(.../DirTreeCtrl.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -18,7 +18,6 @@
 ***************************************************************************/
 #include "stdafx.h"
 #include "DirTreeCtrl.h"
-#include "memdc.h"
 #include "shlobj.h"
 
 #ifdef _DEBUG
@@ -940,9 +939,9 @@
 void CDirTreeCtrl::OnPaint() 
 {
 	CPaintDC dc(this); // device context for painting
-	CMemDC memdc(&dc, &dc.m_ps.rcPaint);
+	CMemDC memdc(dc, &dc.m_ps.rcPaint);
 	
-	DefWindowProc(WM_PAINT, (WPARAM)memdc.GetSafeHdc(), 0);
+	DefWindowProc(WM_PAINT, (WPARAM)memdc.GetDC().GetSafeHdc(), 0);
 }
 
 void CDirTreeCtrl::SetIgnoreShellDialogs(bool bFlag)
Index: src/ch/FFListCtrl.cpp
===================================================================
diff -u -rd5c3edd0d167db9b5d47d04248820fda49499a5e -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/FFListCtrl.cpp	(.../FFListCtrl.cpp)	(revision d5c3edd0d167db9b5d47d04248820fda49499a5e)
+++ src/ch/FFListCtrl.cpp	(.../FFListCtrl.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -18,7 +18,6 @@
 ***************************************************************************/
 #include "stdafx.h"
 #include "FFListCtrl.h"
-#include "MemDC.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -65,13 +64,13 @@
 
 	CRect rect;
 	GetClientRect(&rect);
-	CMemDC memDC(&dc, rect);
+	CMemDC memDC(dc, rect);
 	
 	CRect clip;
-	memDC.GetClipBox(&clip);
-	memDC.FillSolidRect(clip, GetSysColor(COLOR_WINDOW));
+	memDC.GetDC().GetClipBox(&clip);
+	memDC.GetDC().FillSolidRect(clip, GetSysColor(COLOR_WINDOW));
 
-	DefWindowProc(WM_PAINT, (WPARAM)memDC.m_hDC, (LPARAM)0);
+	DefWindowProc(WM_PAINT, (WPARAM)memDC.GetDC().m_hDC, (LPARAM)0);
 }
 
 void CFFListCtrl::LimitItems(int iLimit)
Index: src/ch/FeedbackReplaceDlg.cpp
===================================================================
diff -u -r3921d82d9605d98b2281f3f42d9f9c8385b89a3e -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/FeedbackReplaceDlg.cpp	(.../FeedbackReplaceDlg.cpp)	(revision 3921d82d9605d98b2281f3f42d9f9c8385b89a3e)
+++ src/ch/FeedbackReplaceDlg.cpp	(.../FeedbackReplaceDlg.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -8,6 +8,7 @@
 #include "FeedbackHandler.h"
 #include "resource.h"
 #include "../libchengine/TFileInfo.h"
+#include "StringHelpers.h"
 
 // CFeedbackReplaceDlg dialog
 
@@ -41,7 +42,7 @@
 	DDX_Control(pDX, IDC_DST_MODIFIEDDATE_EDIT, m_ctlDstDate);
 	DDX_Control(pDX, IDC_DST_FILESIZE_EDIT, m_ctlDstSize);
 
-	DDX_Check(pDX, IDC_ALL_ITEMS_CHECK, m_bAllItems);
+	DDX_Control(pDX, IDC_MFCMENUBUTTON1, m_mfcButton);
 }
 
 BEGIN_MESSAGE_MAP(CFeedbackReplaceDlg, ictranslate::CLanguageDialog)
@@ -50,6 +51,7 @@
 	ON_BN_CLICKED(IDC_SKIP_BUTTON, &CFeedbackReplaceDlg::OnBnClickedSkipButton)
 	ON_BN_CLICKED(IDC_PAUSE_BUTTON, &CFeedbackReplaceDlg::OnBnClickedPauseButton)
 	ON_BN_CLICKED(IDC_CANCEL_BUTTON, &CFeedbackReplaceDlg::OnBnClickedCancelButton)
+	ON_BN_CLICKED(IDC_MFCMENUBUTTON1, &CFeedbackReplaceDlg::OnBnMfcMenu)
 END_MESSAGE_MAP()
 
 
@@ -65,38 +67,57 @@
 
 	AddResizableControl(IDC_INFO_STATIC, 0.0, 0.0, 1.0, 0.0);
 
-	AddResizableControl(IDC_00_STATIC, 0.0, 0.0, 1.0, 0.0);
 	AddResizableControl(IDC_SRC_ICON_STATIC, 0.0, 0.0, 0.0, 0.0);
 
 	AddResizableControl(IDC_SRCFILE_STATIC, 0.0, 0.0, 1.0, 0.0);
+
+	AddResizableControl(IDC_SRC_NAME_STATIC, 0.0, 0.0, 0.0, 0.0);
 	AddResizableControl(IDC_SRC_FILENAME_EDIT, 0.0, 0.0, 1.0, 0.0);
+	AddResizableControl(IDC_SRC_LOCATION_STATIC, 0.0, 0.0, 0.0, 0.0);
 	AddResizableControl(IDC_SRC_PATH_EDIT, 0.0, 0.0, 1.0, 0.0);
+	AddResizableControl(IDC_SRC_SIZE_STATIC, 0.0, 0.0, 0.0, 0.0);
 	AddResizableControl(IDC_SRC_FILESIZE_EDIT, 0.0, 0.0, 1.0, 0.0);
+	AddResizableControl(IDC_SRC_TIME_STATIC, 0.0, 0.0, 0.0, 0.0);
 	AddResizableControl(IDC_SRC_MODIFIEDDATE_EDIT, 0.0, 0.0, 1.0, 0.0);
 
-	AddResizableControl(IDC_01_STATIC, 0.0, 0.5, 1.0, 0.0);
-	AddResizableControl(IDC_DST_ICON_STATIC, 0.0, 0.5, 0.0, 0.0);
+	AddResizableControl(IDC_DST_ICON_STATIC, 0.0, 0.0, 0.0, 0.0);
 
 	AddResizableControl(IDC_DSTFILE_STATIC, 0.0, 0.0, 1.0, 0.0);
-	AddResizableControl(IDC_DST_FILENAME_EDIT, 0.0, 1.0, 1.0, 0.0);
-	AddResizableControl(IDC_DST_PATH_EDIT, 0.0, 1.0, 1.0, 0.0);
-	AddResizableControl(IDC_DST_FILESIZE_EDIT, 0.0, 1.0, 1.0, 0.0);
-	AddResizableControl(IDC_DST_MODIFIEDDATE_EDIT, 0.0, 1.0, 1.0, 0.0);
 
-	AddResizableControl(IDC_COPY_REST_BUTTON, 0.0, 1.0, 0.0, 0.0);
-	AddResizableControl(IDC_SKIP_BUTTON, 0.0, 1.0, 0.0, 0.0);
-	AddResizableControl(IDC_PAUSE_BUTTON, 0.0, 1.0, 0.0, 0.0);
-	AddResizableControl(IDC_CANCEL_BUTTON, 0.0, 1.0, 0.0, 0.0);
-	AddResizableControl(IDC_REPLACE_BUTTON, 0.0, 1.0, 0.0, 0.0);
+	AddResizableControl(IDC_DST_NAME_STATIC, 0.0, 0.0, 0.0, 0.0);
+	AddResizableControl(IDC_DST_FILENAME_EDIT, 0.0, 0.0, 1.0, 0.0);
+	AddResizableControl(IDC_DST_LOCATION_STATIC, 0.0, 0.0, 0.0, 0.0);
+	AddResizableControl(IDC_DST_PATH_EDIT, 0.0, 0.0, 1.0, 0.0);
+	AddResizableControl(IDC_DST_SIZE_STATIC, 0.0, 0.0, 0.0, 0.0);
+	AddResizableControl(IDC_DST_FILESIZE_EDIT, 0.0, 0.0, 1.0, 0.0);
+	AddResizableControl(IDC_DST_TIME_STATIC, 0.0, 0.0, 0.0, 0.0);
+	AddResizableControl(IDC_DST_MODIFIEDDATE_EDIT, 0.0, 0.0, 1.0, 0.0);
 
-	AddResizableControl(IDC_ALL_ITEMS_CHECK, 0.0, 1.0, 1.0, 0.0);
+	AddResizableControl(IDC_REPLACE_BUTTON, 0.0, 0.0, 0.25, 0.0);
+	AddResizableControl(IDC_MASS_REPLACE_MENUBUTTON, 0.25, 0.0, 0.0, 0.0);
+	AddResizableControl(IDC_RENAME_BUTTON, 0.25, 0.0, 0.25, 0.0);
+	AddResizableControl(IDC_MASS_RENAME_MENUBUTTON, 0.5, 0.0, 0.0, 0.0);
+	AddResizableControl(IDC_COPY_REST_BUTTON, 0.5, 0.0, 0.25, 0.0);
+	AddResizableControl(IDC_MASS_RESUME_MENUBUTTON, 0.75, 0.0, 0.0, 0.0);
+	AddResizableControl(IDC_SKIP_BUTTON, 0.75, 0.0, 0.25, 0.0);
+	AddResizableControl(IDC_MASS_SKIP_MENUBUTTON, 1.0, 0.0, 0.0, 0.0);
 
+	AddResizableControl(IDC_PAUSE_BUTTON, 0.5, 0.0, 0.25, 0.0);
+	AddResizableControl(IDC_CANCEL_BUTTON, 0.75, 0.0, 0.25, 0.0);
+
 	InitializeResizableControls();
 
 	// load the informations about files
 	RefreshFilesInfo();
 	RefreshImages();
 
+	HMENU hMenu = GetResManager().LoadMenu(MAKEINTRESOURCE(IDR_PRIORITY_MENU));
+	m_mfcMenu.Attach(hMenu);
+
+	m_mfcButton.m_hMenu = m_mfcMenu.GetSubMenu(0)->GetSafeHmenu();
+
+	m_mfcButton.SetWindowText(L"Unattended operation");
+
 	return TRUE;  // return TRUE unless you set the focus to a control
 	// EXCEPTION: OCX Property Pages should return FALSE
 }
@@ -116,23 +137,14 @@
 	m_ctlSrcName.SetWindowText(pathSrc.GetFileName().ToString());
 
 	// path
-	strTemplate = rManager.LoadString(IDS_INFO_PATH_STRING);
-	ictranslate::CFormat fmt(strTemplate);
-	fmt.SetParam(_T("%pathname"), pathSrc.GetParent().ToString());
-	m_ctlSrcPath.SetWindowText(fmt.ToString());
+	m_ctlSrcPath.SetWindowText(pathSrc.GetParent().ToString());
 
 	// size
-	strTemplate = rManager.LoadString(IDS_INFO_SIZE_STRING);
-	fmt.SetFormat(strTemplate);
-	fmt.SetParam(_T("%size"), m_rSrcFile.GetLength64());
-	m_ctlSrcSize.SetWindowText(fmt.ToString());
+	m_ctlSrcSize.SetWindowText(GetSizeString(m_rSrcFile.GetLength64()));
 
 	// modified date
-	strTemplate = rManager.LoadString(IDS_INFO_MODIFIED_STRING);
-	fmt.SetFormat(strTemplate);
 	COleDateTime dtTemp = m_rSrcFile.GetLastWriteTime().GetAsFiletime();
-	fmt.SetParam(_T("%datemod"), dtTemp.Format(LOCALE_NOUSEROVERRIDE, LANG_USER_DEFAULT));
-	m_ctlSrcDate.SetWindowText(fmt.ToString());
+	m_ctlSrcDate.SetWindowText(dtTemp.Format(LOCALE_NOUSEROVERRIDE, LANG_USER_DEFAULT));
 
 	/////////////////////////////////////////////////////////////
 	// dst file
@@ -142,23 +154,14 @@
 	m_ctlDstName.SetWindowText(pathDst.GetFileName().ToString());
 
 	// path
-	strTemplate = rManager.LoadString(IDS_INFO_PATH_STRING);
-	fmt.SetFormat(strTemplate);
-	fmt.SetParam(_T("%pathname"), pathDst.GetParent().ToString());
-	m_ctlDstPath.SetWindowText(fmt.ToString());
+	m_ctlDstPath.SetWindowText(pathDst.GetParent().ToString());
 
 	// size
-	strTemplate = rManager.LoadString(IDS_INFO_SIZE_STRING);
-	fmt.SetFormat(strTemplate);
-	fmt.SetParam(_T("%size"), m_rDstFile.GetLength64());
-	m_ctlDstSize.SetWindowText(fmt.ToString());
+	m_ctlDstSize.SetWindowText(GetSizeString(m_rDstFile.GetLength64()));
 
 	// modified date
-	strTemplate = rManager.LoadString(IDS_INFO_MODIFIED_STRING);
-	fmt.SetFormat(strTemplate);
 	dtTemp = m_rDstFile.GetLastWriteTime().GetAsFiletime();
-	fmt.SetParam(_T("%datemod"), dtTemp.Format(LOCALE_NOUSEROVERRIDE, LANG_USER_DEFAULT));
-	m_ctlDstDate.SetWindowText(fmt.ToString());
+	m_ctlDstDate.SetWindowText(dtTemp.Format(LOCALE_NOUSEROVERRIDE, LANG_USER_DEFAULT));
 
 	// button captions
 	CWnd* pAppendButton = GetDlgItem(IDC_COPY_REST_BUTTON);
@@ -214,6 +217,24 @@
 	EndDialog(chengine::EFeedbackResult::eResult_Cancel);
 }
 
+void CFeedbackReplaceDlg::OnBnMfcMenu()
+{
+	CString str;
+	switch (m_mfcButton.m_nMenuResult)
+	{
+	case ID_POPUP_TIME_CRITICAL:
+		str = L"first menu item clicked";
+		break;
+	case ID_POPUP_HIGHEST:
+		str = L"second menu item clicked";
+		break;
+	default:
+		str = L"Default";
+		break;
+	}
+	MessageBox(str);
+}
+
 void CFeedbackReplaceDlg::OnCancel()
 {
 	UpdateData(TRUE);
Index: src/ch/FeedbackReplaceDlg.h
===================================================================
diff -u -r0d5b67ee96b435d63f7bf075dc8e28603793b187 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/FeedbackReplaceDlg.h	(.../FeedbackReplaceDlg.h)	(revision 0d5b67ee96b435d63f7bf075dc8e28603793b187)
+++ src/ch/FeedbackReplaceDlg.h	(.../FeedbackReplaceDlg.h)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -59,6 +59,9 @@
 	CEdit m_ctlDstSize;
 	CEdit m_ctlDstDate;
 
+	CMFCMenuButton m_mfcButton;
+	CMenu m_mfcMenu;
+
 	BOOL m_bAllItems;
 
 protected:
@@ -71,6 +74,7 @@
 	afx_msg void OnBnClickedSkipButton();
 	afx_msg void OnBnClickedPauseButton();
 	afx_msg void OnBnClickedCancelButton();
+	afx_msg void OnBnMfcMenu();
 };
 
 #endif
Index: src/ch/FolderDialog.cpp
===================================================================
diff -u -r9ddf8fdd5f641491dd30c49eb90f8f740314b6af -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/FolderDialog.cpp	(.../FolderDialog.cpp)	(revision 9ddf8fdd5f641491dd30c49eb90f8f740314b6af)
+++ src/ch/FolderDialog.cpp	(.../FolderDialog.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -20,7 +20,6 @@
 #include "ch.h"
 #include "DirTreeCtrl.h"
 #include "FolderDialog.h"
-#include "memdc.h"
 #include "Theme Helpers.h"
 #include "shlobj.h"
 #include "StringHelpers.h"
@@ -67,6 +66,10 @@
 		CWnd* pWnd=CWnd::FromHandle(hwnd);
 		CPaintDC dc(pWnd);
 
+		CRect rcPaint(dc.m_ps.rcPaint);
+		if (rcPaint.IsRectEmpty())
+			break;
+
 		// exclude header from update rect (only in report view)
 		int iID=GetDlgCtrlID(hwnd);
 		if (iID == IDC_SHORTCUT_LIST)
@@ -89,12 +92,12 @@
 			}
 		}
 
-		CMemDC memdc(&dc, &dc.m_ps.rcPaint);
+		CMemDC memdc(dc, &dc.m_ps.rcPaint);
 
 		if (dc.m_ps.fErase)
-			memdc.FillSolidRect(&dc.m_ps.rcPaint, GetSysColor(COLOR_WINDOW));
+			memdc.GetDC().FillSolidRect(&dc.m_ps.rcPaint, GetSysColor(COLOR_WINDOW));
 
-		CallWindowProc(pfWndProc, hwnd, WM_PAINT, (WPARAM)memdc.GetSafeHdc(), 0);
+		CallWindowProc(pfWndProc, hwnd, WM_PAINT, (WPARAM)memdc.GetDC().GetSafeHdc(), 0);
 		return 0;
 
 	}
Fisheye: Tag 547f865c69434c14c6f16e4b529d4198f6fe2040 refers to a dead (removed) revision in file `src/ch/MemDC.h'.
Fisheye: No comparison available.  Pass `N' to diff?
Index: src/ch/MiniViewDlg.cpp
===================================================================
diff -u -r33b33baa373533d0cff8ea5d25154b370f2b2e05 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/MiniViewDlg.cpp	(.../MiniViewDlg.cpp)	(revision 33b33baa373533d0cff8ea5d25154b370f2b2e05)
+++ src/ch/MiniViewDlg.cpp	(.../MiniViewDlg.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -20,7 +20,6 @@
 #include "MiniViewDlg.h"
 #include "ch.h"
 #include <assert.h>
-#include "MemDC.h"
 #include "CfgProperties.h"
 #include "resource.h"
 #include "../libchengine/TTaskManager.h"
@@ -606,10 +605,10 @@
 	ncdc.LineTo(rcWindow.right, rcWindow.bottom);
 
 	// memdc
-	CMemDC dc(&ncdc, &rcWindow);
+	CMemDC dc(ncdc, &rcWindow);
 
 	COLORREF crLeft=GetSysColor(m_bActive ? COLOR_ACTIVECAPTION : COLOR_INACTIVECAPTION);
-	dc.FillSolidRect(&rcWindow, crLeft);
+	dc.GetDC().FillSolidRect(&rcWindow, crLeft);
 
 	// caption text
 	CString strWindow;
@@ -626,11 +625,11 @@
 	
 	CFont font;
 	font.CreateFontIndirect(&ncm.lfSmCaptionFont);
-	dc.SelectObject(&font);
+	dc.GetDC().SelectObject(&font);
 	
-	dc.SetTextColor(GetSysColor(COLOR_CAPTIONTEXT));
-	dc.SetBkMode(TRANSPARENT);
-	dc.DrawText(strWindow, &rcWindow, DT_END_ELLIPSIS | DT_VCENTER | DT_LEFT | DT_NOCLIP | DT_SINGLELINE);
+	dc.GetDC().SetTextColor(GetSysColor(COLOR_CAPTIONTEXT));
+	dc.GetDC().SetBkMode(TRANSPARENT);
+	dc.GetDC().DrawText(strWindow, &rcWindow, DT_END_ELLIPSIS | DT_VCENTER | DT_LEFT | DT_NOCLIP | DT_SINGLELINE);
 	// button drawing
 	GetClientRect(&rcWindow);
 	
@@ -651,7 +650,7 @@
 		m_bdButtons[i].rcButton.right=m_bdButtons[i].rcButton.left+iWidth;
 		m_bdButtons[i].rcButton.bottom=m_bdButtons[i].rcButton.top+iHeight;
 		
-		m_bdButtons[i].pfnCallbackFunc(this, MSG_DRAWBUTTON, &m_bdButtons[i], &dc);
+		m_bdButtons[i].pfnCallbackFunc(this, MSG_DRAWBUTTON, &m_bdButtons[i], &dc.GetDC());
 	}
 }
 
Index: src/ch/ProgressListBox.cpp
===================================================================
diff -u -r9ddf8fdd5f641491dd30c49eb90f8f740314b6af -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/ProgressListBox.cpp	(.../ProgressListBox.cpp)	(revision 9ddf8fdd5f641491dd30c49eb90f8f740314b6af)
+++ src/ch/ProgressListBox.cpp	(.../ProgressListBox.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -18,7 +18,6 @@
 ***************************************************************************/
 #include "stdafx.h"
 #include "ProgressListBox.h"
-#include "MemDC.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -215,10 +214,10 @@
 	CRect rcClip;
 	dc.GetClipBox(&rcClip);
 
-	CMemDC memDC(&dc, &rcClip);
-	memDC.FillSolidRect(&rcClip, GetSysColor(COLOR_3DFACE));
+	CMemDC memDC(dc, &rcClip);
+	memDC.GetDC().FillSolidRect(&rcClip, GetSysColor(COLOR_3DFACE));
 
-	DefWindowProc(WM_PAINT, reinterpret_cast<WPARAM>(memDC.m_hDC), 0);
+	DefWindowProc(WM_PAINT, reinterpret_cast<WPARAM>(memDC.GetDC().m_hDC), 0);
 }
 
 BOOL CProgressListBox::OnEraseBkgnd(CDC*) 
Index: src/ch/PropertyListCtrl.cpp
===================================================================
diff -u -r9ddf8fdd5f641491dd30c49eb90f8f740314b6af -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/PropertyListCtrl.cpp	(.../PropertyListCtrl.cpp)	(revision 9ddf8fdd5f641491dd30c49eb90f8f740314b6af)
+++ src/ch/PropertyListCtrl.cpp	(.../PropertyListCtrl.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -20,7 +20,6 @@
 #include "ch.h"
 #include "PropertyListCtrl.h"
 #include "dialogs.h"
-#include "memdc.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -67,36 +66,35 @@
 {
 	CDC*	prDC			= CDC::FromHandle(lpDrawItemStruct->hDC);
 	CRect 	ButtonRect  = lpDrawItemStruct->rcItem;
-	CMemDC dc(prDC, ButtonRect);
-	CMemDC *pDC=&dc;
+	CMemDC dc(*prDC, ButtonRect);
 
 	// Fill the Background
-	CBrush* pOldBrush = (CBrush*)pDC->SelectObject( m_pBkBrush );
-	CPen* pOldPen = (CPen*)pDC->SelectObject(m_pBkPen);
-	pDC->Rectangle(ButtonRect);
+	CBrush* pOldBrush = (CBrush*)dc.GetDC().SelectObject( m_pBkBrush );
+	CPen* pOldPen = (CPen*)dc.GetDC().SelectObject(m_pBkPen);
+	dc.GetDC().Rectangle(ButtonRect);
 
 	// Draw the Correct Border
 	if(lpDrawItemStruct->itemState & ODS_SELECTED)
 	{
-		pDC->DrawEdge(ButtonRect, EDGE_SUNKEN, BF_RECT);
+		dc.GetDC().DrawEdge(ButtonRect, EDGE_SUNKEN, BF_RECT);
 		ButtonRect.left++;
 		ButtonRect.right++;
 		ButtonRect.bottom++;
 		ButtonRect.top++;
 	}
 	else
-		pDC->DrawEdge(ButtonRect, EDGE_RAISED, BF_RECT);
+		dc.GetDC().DrawEdge(ButtonRect, EDGE_RAISED, BF_RECT);
 	
 	// Draw the Triangle
 	ButtonRect.left		+= 3;
 	ButtonRect.right	-= 4;
 	ButtonRect.top		+= 5;
 	ButtonRect.bottom	-= 5;
-	DrawTriangle(pDC, ButtonRect);
+	DrawTriangle(&dc.GetDC(), ButtonRect);
 
 	// Return what was used
-	pDC->SelectObject( pOldPen );
-	pDC->SelectObject( pOldBrush );
+	dc.GetDC().SelectObject( pOldPen );
+	dc.GetDC().SelectObject( pOldBrush );
 }
 
 void CComboButton::DrawTriangle(CDC* pDC, CRect Rect)
Index: src/ch/Stdafx.h
===================================================================
diff -u -r0d5b67ee96b435d63f7bf075dc8e28603793b187 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/Stdafx.h	(.../Stdafx.h)	(revision 0d5b67ee96b435d63f7bf075dc8e28603793b187)
+++ src/ch/Stdafx.h	(.../Stdafx.h)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -31,7 +31,16 @@
 #endif // _AFX_NO_AFXCMN_SUPPORT
 #include <afxmt.h>
 #include <afxdtctl.h>
+#include <algorithm>
 
+#define min std::min
+#define max std::max
+
+#include <afxcontrolbars.h>     // MFC support for ribbons and control bars
+
+#undef min
+#undef max
+
 #include <afxinet.h>
 
 #include <boost/numeric/conversion/cast.hpp>
Index: src/ch/ThemedButton.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/ThemedButton.cpp	(.../ThemedButton.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/ch/ThemedButton.cpp	(.../ThemedButton.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -18,7 +18,6 @@
 ***************************************************************************/
 #include "stdafx.h"
 #include "ThemedButton.h"
-#include "MemDC.h"
 #include "Theme helpers.h"
 
 #ifdef _DEBUG
@@ -64,7 +63,7 @@
 void CThemedButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
 {
 	CDC* pDC=CDC::FromHandle(lpDrawItemStruct->hDC);
-	CMemDC memdc(pDC, &lpDrawItemStruct->rcItem);
+	CMemDC memdc(*pDC, &lpDrawItemStruct->rcItem);
 	
 	bool bPushed=(lpDrawItemStruct->itemState & ODS_SELECTED);
 	CRect rcItem=lpDrawItemStruct->rcItem;
@@ -75,13 +74,13 @@
 	{
 		HTHEME ht=uxTheme.OpenThemeData(lpDrawItemStruct->hwndItem, L"TOOLBAR");
 		
-		uxTheme.DrawThemeParentBackground(lpDrawItemStruct->hwndItem, memdc.GetSafeHdc(), &rcItem);
-		uxTheme.DrawThemeBackground(ht, memdc.GetSafeHdc(), TP_BUTTON, bPushed ? TS_PRESSED : (m_bHovering ? TS_HOT : TS_NORMAL), &rcItem, nullptr);
+		uxTheme.DrawThemeParentBackground(lpDrawItemStruct->hwndItem, memdc.GetDC().GetSafeHdc(), &rcItem);
+		uxTheme.DrawThemeBackground(ht, memdc.GetDC().GetSafeHdc(), TP_BUTTON, bPushed ? TS_PRESSED : (m_bHovering ? TS_HOT : TS_NORMAL), &rcItem, nullptr);
 		
 		uxTheme.CloseThemeData(ht);
 	}
 	else
-		DrawFrameControl(memdc.GetSafeHdc(), &rcItem, DFC_BUTTON, DFCS_ADJUSTRECT | DFCS_BUTTONPUSH | (bPushed ? DFCS_PUSHED : 0));
+		DrawFrameControl(memdc.GetDC().GetSafeHdc(), &rcItem, DFC_BUTTON, DFCS_ADJUSTRECT | DFCS_BUTTONPUSH | (bPushed ? DFCS_PUSHED : 0));
 
 	ASSERT(m_pilList);	// make sure the image list exist
 	if(m_pilList)
@@ -91,7 +90,7 @@
 
 		CRect rcBtn;
 		GetClientRect(&rcBtn);
-		m_pilList->Draw(&memdc, m_iIndex, CPoint( ((rcBtn.Width()-cx)/2)+(bPushed ? 1 : 0), (rcBtn.Height()-cy)/2+(bPushed ? 1 : 0)), ILD_TRANSPARENT);
+		m_pilList->Draw(&memdc.GetDC(), m_iIndex, CPoint( ((rcBtn.Width()-cx)/2)+(bPushed ? 1 : 0), (rcBtn.Height()-cy)/2+(bPushed ? 1 : 0)), ILD_TRANSPARENT);
 	}
 }
 
Index: src/ch/ch.cpp
===================================================================
diff -u -r1c366a50e84393bce67e50dcccc4fc5ff147db27 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/ch.cpp	(.../ch.cpp)	(revision 1c366a50e84393bce67e50dcccc4fc5ff147db27)
+++ src/ch/ch.cpp	(.../ch.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -40,6 +40,15 @@
 #include "../libchengine/TConfigSerializers.h"
 #include "../libictranslate/ResourceManager.h"
 
+#define min std::min
+#define max std::max
+
+#include <afxvisualmanager.h>
+#include <afxvisualmanagerwindows.h>
+
+#undef min
+#undef max
+
 #ifdef _DEBUG
 #define new DEBUG_NEW
 #endif
@@ -368,6 +377,10 @@
 		return FALSE;
 	}
 
+	AfxEnableControlContainer();
+
+	CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
+
 	// ================================= Shell extension ========================================
 	LOG_INFO(m_spLog) << _T("Checking shell extension compatibility");
 
Index: src/ch/ch.rc
===================================================================
diff -u -r1c366a50e84393bce67e50dcccc4fc5ff147db27 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/ch.rc	(.../ch.rc)	(revision 1c366a50e84393bce67e50dcccc4fc5ff147db27)
+++ src/ch/ch.rc	(.../ch.rc)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -8,6 +8,7 @@
 // Generated from the TEXTINCLUDE 2 resource.
 //
 #include "afxres.h"
+#include "verrsrc.h"
 
 /////////////////////////////////////////////////////////////////////////////
 #undef APSTUDIO_READONLY_SYMBOLS
@@ -44,20 +45,20 @@
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
     EDITTEXT        IDC_DEFAULTSIZE_EDIT,35,17,97,14,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_CLIENTEDGE
-    COMBOBOX        IDC_DEFAULTMULTIPLIER_COMBO,134,18,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
+    COMBOBOX        IDC_DEFAULTMULTIPLIER_COMBO,134,18,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     EDITTEXT        IDC_ONEDISKSIZE_EDIT,35,49,97,14,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_CLIENTEDGE
-    COMBOBOX        IDC_ONEDISKMULTIPLIER_COMBO,134,50,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
+    COMBOBOX        IDC_ONEDISKMULTIPLIER_COMBO,134,50,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     EDITTEXT        IDC_TWODISKSSIZE_EDIT,35,81,97,14,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_CLIENTEDGE
-    COMBOBOX        IDC_TWODISKSMULTIPLIER_COMBO,134,82,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
+    COMBOBOX        IDC_TWODISKSMULTIPLIER_COMBO,134,82,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     EDITTEXT        IDC_CDROMSIZE_EDIT,206,18,97,14,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_CLIENTEDGE
-    COMBOBOX        IDC_CDROMMULTIPLIER_COMBO,307,18,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
+    COMBOBOX        IDC_CDROMMULTIPLIER_COMBO,307,18,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     EDITTEXT        IDC_LANSIZE_EDIT,206,51,97,14,ES_AUTOHSCROLL | NOT WS_BORDER,WS_EX_CLIENTEDGE
-    COMBOBOX        IDC_LANMULTIPLIER_COMBO,307,52,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
+    COMBOBOX        IDC_LANMULTIPLIER_COMBO,307,52,31,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     EDITTEXT        IDC_BUFFERCOUNT_EDIT,206,82,122,14,ES_AUTOHSCROLL | ES_NUMBER
     CONTROL         "",IDC_BUFFERCOUNT_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,327,82,11,14
-    CONTROL         "Use only default buffer",IDC_ONLYDEFAULT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,132,331,10,0
-    DEFPUSHBUTTON   "&OK",IDOK,229,148,50,14,0,0
-    PUSHBUTTON      "&Cancel",IDCANCEL,288,148,50,14,0,0
+    CONTROL         "Use only default buffer",IDC_ONLYDEFAULT_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,132,331,10
+    DEFPUSHBUTTON   "&OK",IDOK,229,148,50,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,288,148,50,14
     LTEXT           "Default",IDC_001_STATIC,35,7,127,8
     LTEXT           "For copying inside one disk boundary",IDC_002_STATIC,35,38,130,8
     LTEXT           "For copying between two different disks",IDC_003_STATIC,35,70,132,8
@@ -82,10 +83,10 @@
 CAPTION "File Error"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    PUSHBUTTON      "&Retry",IDC_RETRY_BUTTON,7,79,64,14,0,0
-    PUSHBUTTON      "&Skip",IDC_SKIP_BUTTON,74,79,64,14,0,0
-    DEFPUSHBUTTON   "&Pause",IDC_PAUSE_BUTTON,141,79,64,14,0,0
-    PUSHBUTTON      "&Cancel",IDCANCEL,212,79,64,14,0,0
+    PUSHBUTTON      "&Retry",IDC_RETRY_BUTTON,7,79,64,14
+    PUSHBUTTON      "&Skip",IDC_SKIP_BUTTON,74,79,64,14
+    DEFPUSHBUTTON   "&Pause",IDC_PAUSE_BUTTON,141,79,64,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,212,79,64,14
     ICON            IDI_ERR_ICON,IDC_001_STATIC,15,15,20,20,SS_REALSIZEIMAGE
     CONTROL         "&Apply to all items",IDC_ALL_ITEMS_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,95,269,10
     LTEXT           "Encountered an error while processing file.",IDC_DESC_STATIC,43,7,223,23
@@ -98,18 +99,18 @@
 CAPTION "Status"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    LISTBOX         IDC_PROGRESS_LIST,7,7,77,9,LBS_OWNERDRAWFIXED | LBS_NOINTEGRALHEIGHT | NOT WS_BORDER | WS_TABSTOP,0
+    LISTBOX         IDC_PROGRESS_LIST,7,7,77,9,LBS_OWNERDRAWFIXED | LBS_NOINTEGRALHEIGHT | NOT WS_BORDER | WS_TABSTOP
 END
 
 IDD_OPTIONS_DIALOG DIALOGEX 0, 0, 397, 214
 STYLE DS_SETFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
 CAPTION "Options"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    DEFPUSHBUTTON   "&OK",IDOK, 227,193,50,14,0,0
-    PUSHBUTTON      "&Cancel",IDCANCEL, 283,193,50,14,0,0
-    LISTBOX         IDC_PROPERTIES_LIST,7,7,383,179,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP,0
-    PUSHBUTTON      "&Apply",IDC_APPLY_BUTTON, 340,193,50,14,0,0
+    DEFPUSHBUTTON   "&OK",IDOK,227,193,50,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,283,193,50,14
+    LISTBOX         IDC_PROPERTIES_LIST,7,7,383,179,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Apply",IDC_APPLY_BUTTON,340,193,50,14
 END
 
 IDD_STATUS_DIALOG DIALOGEX 0, 0, 491, 302
@@ -118,21 +119,21 @@
 CAPTION "Status"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    CONTROL         "List1",IDC_STATUS_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,19,223,171,0
-    PUSHBUTTON      "&Pause",IDC_PAUSE_BUTTON,7,193,44,14,0,0
-    PUSHBUTTON      "&Restart",IDC_RESTART_BUTTON,97,193,44,14,0,0
-    PUSHBUTTON      "&Cancel",IDC_CANCEL_BUTTON,142,193,44,14,0,0
-    PUSHBUTTON      "&Remove",IDC_DELETE_BUTTON,187,193,44,14,0,0
-    PUSHBUTTON      "Pause/all",IDC_PAUSE_ALL_BUTTON,7,208,71,14,0,0
-    PUSHBUTTON      "Resume/all",IDC_START_ALL_BUTTON,79,208,71,14,0,0
-    PUSHBUTTON      "Cancel/all",IDC_CANCEL_ALL_BUTTON,7,223,71,14,0,0
-    PUSHBUTTON      "Remove/all",IDC_REMOVE_FINISHED_BUTTON,79,223,71,14,0,0
-    PUSHBUTTON      "Restart/all",IDC_RESTART_ALL_BUTTON,151,223,79,14,0,0
-    PUSHBUTTON      "Advanced >",IDC_TASK_ADVANCED_BUTTON,151,208,79,14,0,0
-    PUSHBUTTON      "",IDC_STICK_BUTTON,484,295,7,7,BS_CENTER | BS_VCENTER | BS_FLAT,0
-    PUSHBUTTON      "...",IDC_SET_BUFFERSIZE_BUTTON,463,71,13,14,0,0
-    PUSHBUTTON      ">",IDC_SET_PRIORITY_BUTTON,463,85,13,14,0,0
-    PUSHBUTTON      "View log",IDC_SHOW_LOG_BUTTON,431,18,45,12,0,0
+    CONTROL         "List1",IDC_STATUS_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,7,19,223,171
+    PUSHBUTTON      "&Pause",IDC_PAUSE_BUTTON,7,193,44,14
+    PUSHBUTTON      "&Restart",IDC_RESTART_BUTTON,97,193,44,14
+    PUSHBUTTON      "&Cancel",IDC_CANCEL_BUTTON,142,193,44,14
+    PUSHBUTTON      "&Remove",IDC_DELETE_BUTTON,187,193,44,14
+    PUSHBUTTON      "Pause/all",IDC_PAUSE_ALL_BUTTON,7,208,71,14
+    PUSHBUTTON      "Resume/all",IDC_START_ALL_BUTTON,79,208,71,14
+    PUSHBUTTON      "Cancel/all",IDC_CANCEL_ALL_BUTTON,7,223,71,14
+    PUSHBUTTON      "Remove/all",IDC_REMOVE_FINISHED_BUTTON,79,223,71,14
+    PUSHBUTTON      "Restart/all",IDC_RESTART_ALL_BUTTON,151,223,79,14
+    PUSHBUTTON      "Advanced >",IDC_TASK_ADVANCED_BUTTON,151,208,79,14
+    PUSHBUTTON      "",IDC_STICK_BUTTON,484,295,7,7,BS_CENTER | BS_VCENTER | BS_FLAT
+    PUSHBUTTON      "...",IDC_SET_BUFFERSIZE_BUTTON,463,71,13,14
+    PUSHBUTTON      ">",IDC_SET_PRIORITY_BUTTON,463,85,13,14
+    PUSHBUTTON      "View log",IDC_SHOW_LOG_BUTTON,431,18,45,12
     LTEXT           "List of tasks:",IDC_TASKLIST_LABEL_STATIC,7,7,223,8
     CONTROL         "Progress1",IDC_GLOBAL_PROGRESS,"msctls_progress32",0x0,71,282,153,7
     LTEXT           "Progress:",IDC_GLOBALPROGRESS_LABEL_STATIC,13,281,54,8
@@ -148,7 +149,7 @@
     LTEXT           "Transfer:",IDC_GLOBALTRANSFER_LABEL_STATIC,13,268,54,8
     LTEXT           "Processed:",IDC_GLOBALPROCESSED_LABEL_STATIC,13,255,54,8
     LTEXT           "Time:",IDC_TASKTIME_LABEL_STATIC,247,245,62,8
-    PUSHBUTTON      "&Resume",IDC_RESUME_BUTTON,52,193,44,14,0,0
+    PUSHBUTTON      "&Resume",IDC_RESUME_BUTTON,52,193,44,14
     LTEXT           "Task ID:",IDC_TASKID_LABEL_STATIC,247,21,62,8
     CONTROL         "",IDC_TASKID_STATIC,"STATICEX",0x4,311,18,118,12,WS_EX_STATICEDGE
     CONTROL         "",IDC_OPERATION_STATIC,"STATICEX",0x4,311,32,165,12,WS_EX_STATICEDGE
@@ -188,12 +189,12 @@
 CAPTION "Not enough free space"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    PUSHBUTTON      "&Retry",IDC_RETRY_BUTTON,78,113,57,14,0,0
-    PUSHBUTTON      "C&ontinue",IDC_IGNORE_BUTTON,136,113,57,14,0,0
-    PUSHBUTTON      "&Cancel",IDCANCEL,198,113,50,14,0,0
-    LISTBOX         IDC_FILES_LIST,42,35,206,44,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,0
-    LTEXT           "",IDC_REQUIRED_STATIC,109,85,139,8,0,0
-    LTEXT           "",IDC_AVAILABLE_STATIC,109,97,139,8,0,0
+    PUSHBUTTON      "&Retry",IDC_RETRY_BUTTON,78,113,57,14
+    PUSHBUTTON      "C&ontinue",IDC_IGNORE_BUTTON,136,113,57,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,198,113,50,14
+    LISTBOX         IDC_FILES_LIST,42,35,206,44,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
+    LTEXT           "",IDC_REQUIRED_STATIC,109,85,139,8
+    LTEXT           "",IDC_AVAILABLE_STATIC,109,97,139,8
     ICON            IDI_WARNING_ICON,IDC_001_STATIC,9,11,20,20,SS_REALSIZEIMAGE
     LTEXT           "Required space:",IDC_003_STATIC,41,85,59,8
     LTEXT           "Space available:",IDC_004_STATIC,41,97,59,8
@@ -206,7 +207,7 @@
 CAPTION "Copy handler"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    DEFPUSHBUTTON   "&Cancel",IDCANCEL,67,65,50,14,0,0
+    DEFPUSHBUTTON   "&Cancel",IDCANCEL,67,65,50,14
     ICON            IDI_SHUTDOWN_ICON,IDC_001_STATIC,7,10,20,20,SS_REALSIZEIMAGE
     LTEXT           "All copy/move operations were finished. Attempt to shut down the system will be performed in:",IDC_002_STATIC,37,7,142,24
     CTEXT           "",IDC_TIME_STATIC,7,35,172,8
@@ -220,27 +221,27 @@
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
     CONTROL         "List1",IDC_FILES_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP,7,16,279,57,WS_EX_ACCEPTFILES
-    PUSHBUTTON      "Add &file(s)...",IDC_ADDFILE_BUTTON,291,15,53,14,0,0
-    PUSHBUTTON      "Add f&older...",IDC_ADDDIR_BUTTON,291,30,53,14,0,0
-    PUSHBUTTON      "&Delete",IDC_REMOVEFILEFOLDER_BUTTON,291,45,53,14,0,0
-    PUSHBUTTON      "&Import...",IDC_IMPORT_BUTTON,291,60,53,14,0,0
+    PUSHBUTTON      "Add &file(s)...",IDC_ADDFILE_BUTTON,291,15,53,14
+    PUSHBUTTON      "Add f&older...",IDC_ADDDIR_BUTTON,291,30,53,14
+    PUSHBUTTON      "&Delete",IDC_REMOVEFILEFOLDER_BUTTON,291,45,53,14
+    PUSHBUTTON      "&Import...",IDC_IMPORT_BUTTON,291,60,53,14
     CONTROL         "",IDC_DESTPATH_COMBOBOXEX,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP,7,86,314,136,WS_EX_ACCEPTFILES
-    PUSHBUTTON      "...",IDC_DESTBROWSE_BUTTON,326,85,18,14,0,0
-    COMBOBOX        IDC_OPERATION_COMBO,13,124,159,143,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
-    COMBOBOX        IDC_PRIORITY_COMBO,181,124,159,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
-    LISTBOX         IDC_BUFFERSIZES_LIST,13,152,275,20,LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP,0
-    PUSHBUTTON      "&Change...",IDC_BUFFERSIZES_BUTTON,294,152,50,14,0,0
-    CONTROL         "Filtering",IDC_FILTERS_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,177,61,10,0
-    CONTROL         "List2",IDC_FILTERS_LIST,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,13,190,303,46,0
-    PUSHBUTTON      "+",IDC_ADDFILTER_BUTTON,322,190,22,14,0,0
-    PUSHBUTTON      "-",IDC_REMOVEFILTER_BUTTON,322,206,22,14,0,0
-    CONTROL         "Advanced options",IDC_ADVANCED_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,242,84,10,0
+    PUSHBUTTON      "...",IDC_DESTBROWSE_BUTTON,326,85,18,14
+    COMBOBOX        IDC_OPERATION_COMBO,13,124,159,143,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_PRIORITY_COMBO,181,124,159,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    LISTBOX         IDC_BUFFERSIZES_LIST,13,152,275,20,LBS_NOINTEGRALHEIGHT | LBS_MULTICOLUMN | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP
+    PUSHBUTTON      "&Change...",IDC_BUFFERSIZES_BUTTON,294,152,50,14
+    CONTROL         "Filtering",IDC_FILTERS_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,177,61,10
+    CONTROL         "List2",IDC_FILTERS_LIST,"SysListView32",LVS_REPORT | WS_BORDER | WS_TABSTOP,13,190,303,46
+    PUSHBUTTON      "+",IDC_ADDFILTER_BUTTON,322,190,22,14
+    PUSHBUTTON      "-",IDC_REMOVEFILTER_BUTTON,322,206,22,14
+    CONTROL         "Advanced options",IDC_ADVANCED_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,242,84,10
     CONTROL         "Do not create destination directories - copy files loosely to destination folder",IDC_IGNOREFOLDERS_CHECK,
-                    "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,255,329,10,0
+                    "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,255,329,10
     CONTROL         "Do not copy/move contents of files - only create it (empty)",IDC_ONLYSTRUCTURE_CHECK,
-                    "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,277,329,10,0
-    PUSHBUTTON      "&OK",IDOK,239,297,50,14,0,0
-    PUSHBUTTON      "&Cancel",IDCANCEL,294,297,50,14,0,0
+                    "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,277,329,10
+    PUSHBUTTON      "&OK",IDOK,239,297,50,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,294,297,50,14
     LTEXT           "Source files/folders:",IDC_001_STATIC,7,7,337,8
     LTEXT           "Destination folder:",IDC_002_STATIC,7,76,337,8
     LTEXT           "Operation type:",IDC_003_STATIC,13,115,117,8
@@ -253,7 +254,7 @@
     CTEXT           "Standard options",IDC_007_STATIC,20,104,80,8
     CONTROL         "",IDC_BAR1_STATIC,"Static",SS_ETCHEDHORZ,7,107,8,1
     CONTROL         "Create directory structure in destination folder (relatively to root directory)",IDC_FORCEDIRECTORIES_CHECK,
-                    "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,266,329,10,0
+                    "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,266,329,10
     PUSHBUTTON      "&Export...",IDC_EXPORT_BUTTON,7,297,50,14
 END
 
@@ -263,41 +264,41 @@
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
     CONTROL         "Include mask (separate by vertical lines ie. *.jpg|*.gif)",IDC_FILTER_CHECK,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,277,10,0
-    COMBOBOX        IDC_FILTER_COMBO,15,19,269,98,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP,0
-    CONTROL         "Exclude mask",IDC_EXCLUDEMASK_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,277,10,0
-    COMBOBOX        IDC_FILTEREXCLUDE_COMBO,15,48,269,170,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP,0
-    CONTROL         "Filtering by size",IDC_SIZE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,66,277,10,0
-    COMBOBOX        IDC_SIZETYPE1_COMBO,63,81,34,140,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
-    EDITTEXT        IDC_SIZE1_EDIT,100,80,77,14,ES_AUTOHSCROLL,0
-    CONTROL         "Spin1",IDC_SIZE1_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,166,80,11,14,0
-    COMBOBOX        IDC_SIZE1MULTI_COMBO,180,81,34,135,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
-    CONTROL         "and",IDC_SIZE2_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,101,32,10,0
-    COMBOBOX        IDC_SIZETYPE2_COMBO,63,99,34,137,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
-    EDITTEXT        IDC_SIZE2_EDIT,100,98,77,14,ES_AUTOHSCROLL,0
-    CONTROL         "Spin1",IDC_SIZE2_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,166,98,11,14,0
-    COMBOBOX        IDC_SIZE2MULTI_COMBO,180,99,34,143,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
-    CONTROL         "Filtering by date",IDC_DATE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,124,277,10,0
-    COMBOBOX        IDC_DATETYPE_COMBO,32,138,151,133,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
-    COMBOBOX        IDC_DATE1TYPE_COMBO,58,158,48,104,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,277,10
+    COMBOBOX        IDC_FILTER_COMBO,15,19,269,98,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "Exclude mask",IDC_EXCLUDEMASK_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,277,10
+    COMBOBOX        IDC_FILTEREXCLUDE_COMBO,15,48,269,170,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "Filtering by size",IDC_SIZE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,66,277,10
+    COMBOBOX        IDC_SIZETYPE1_COMBO,63,81,34,140,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    EDITTEXT        IDC_SIZE1_EDIT,100,80,77,14,ES_AUTOHSCROLL
+    CONTROL         "Spin1",IDC_SIZE1_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,166,80,11,14
+    COMBOBOX        IDC_SIZE1MULTI_COMBO,180,81,34,135,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "and",IDC_SIZE2_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,101,32,10
+    COMBOBOX        IDC_SIZETYPE2_COMBO,63,99,34,137,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    EDITTEXT        IDC_SIZE2_EDIT,100,98,77,14,ES_AUTOHSCROLL
+    CONTROL         "Spin1",IDC_SIZE2_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,166,98,11,14
+    COMBOBOX        IDC_SIZE2MULTI_COMBO,180,99,34,143,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "Filtering by date",IDC_DATE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,124,277,10
+    COMBOBOX        IDC_DATETYPE_COMBO,32,138,151,133,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
+    COMBOBOX        IDC_DATE1TYPE_COMBO,58,158,48,104,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     CONTROL         "DateTimePicker1",IDC_DATE1_DATETIMEPICKER,
-                    "SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_SHOWNONE | WS_TABSTOP,108,157,109,15,0
+                    "SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_SHOWNONE | WS_TABSTOP,108,157,109,15
     CONTROL         "DateTimePicker2",IDC_TIME1_DATETIMEPICKER,
-                    "SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_SHOWNONE | WS_TABSTOP | 0x8,220,157,64,15,0
-    CONTROL         "and",IDC_DATE2_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,176,30,10,0
-    COMBOBOX        IDC_DATE2TYPE_COMBO,58,174,48,107,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0
+                    "SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_SHOWNONE | WS_TABSTOP | 0x8,220,157,64,15
+    CONTROL         "and",IDC_DATE2_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,176,30,10
+    COMBOBOX        IDC_DATE2TYPE_COMBO,58,174,48,107,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     CONTROL         "DateTimePicker1",IDC_DATE2_DATETIMEPICKER,
-                    "SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_SHOWNONE | WS_TABSTOP,108,173,109,15,0
+                    "SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_SHOWNONE | WS_TABSTOP,108,173,109,15
     CONTROL         "DateTimePicker2",IDC_TIME2_DATETIMEPICKER,
-                    "SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_SHOWNONE | WS_TABSTOP | 0x8,220,173,64,15,0
-    CONTROL         "By attributes",IDC_ATTRIBUTES_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,199,277,10,0
-    CONTROL         "Archive",IDC_ARCHIVE_CHECK,"Button",BS_AUTO3STATE | WS_TABSTOP,29,212,81,10,0
-    CONTROL         "Read only",IDC_READONLY_CHECK,"Button",BS_AUTO3STATE | WS_TABSTOP,29,224,81,10,0
-    CONTROL         "Hidden",IDC_HIDDEN_CHECK,"Button",BS_AUTO3STATE | WS_TABSTOP,117,212,68,10,0
-    CONTROL         "System",IDC_SYSTEM_CHECK,"Button",BS_AUTO3STATE | WS_TABSTOP,117,224,68,10,0
-    CONTROL         "Directory",IDC_DIRECTORY_CHECK,"Button",BS_AUTO3STATE | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,191,212,93,10,0
-    DEFPUSHBUTTON   "&OK",IDOK,179,245,50,14,0,0
-    PUSHBUTTON      "&Cancel",IDCANCEL,234,245,50,14,0,0
+                    "SysDateTimePick32",DTS_RIGHTALIGN | DTS_UPDOWN | DTS_SHOWNONE | WS_TABSTOP | 0x8,220,173,64,15
+    CONTROL         "By attributes",IDC_ATTRIBUTES_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,199,277,10
+    CONTROL         "Archive",IDC_ARCHIVE_CHECK,"Button",BS_AUTO3STATE | WS_TABSTOP,29,212,81,10
+    CONTROL         "Read only",IDC_READONLY_CHECK,"Button",BS_AUTO3STATE | WS_TABSTOP,29,224,81,10
+    CONTROL         "Hidden",IDC_HIDDEN_CHECK,"Button",BS_AUTO3STATE | WS_TABSTOP,117,212,68,10
+    CONTROL         "System",IDC_SYSTEM_CHECK,"Button",BS_AUTO3STATE | WS_TABSTOP,117,224,68,10
+    CONTROL         "Directory",IDC_DIRECTORY_CHECK,"Button",BS_AUTO3STATE | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,191,212,93,10
+    DEFPUSHBUTTON   "&OK",IDOK,179,245,50,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,234,245,50,14
     CONTROL         "",IDC_001_STATIC,"Static",SS_ETCHEDHORZ,7,238,276,1
 END
 
@@ -306,36 +307,36 @@
 CAPTION "Shortcuts editing"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    CONTROL         "List1",IDC_SHORTCUT_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_AUTOARRANGE | LVS_EDITLABELS | WS_BORDER | WS_TABSTOP,7,16,261,88,0
-    EDITTEXT        IDC_NAME_EDIT,77,123,228,14,ES_AUTOHSCROLL,0
-    CONTROL         "",IDC_PATH_COMBOBOXEX,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP,77,142,205,89,0
-    PUSHBUTTON      "...",IDC_BROWSE_BUTTON,286,142,18,13,0,0
-    PUSHBUTTON      "&Add",IDC_ADD_BUTTON,17,160,50,14,0,0
-    PUSHBUTTON      "&Update",IDC_CHANGE_BUTTON,69,160,50,14,0,0
-    PUSHBUTTON      "&Delete",IDC_DELETE_BUTTON,121,160,50,14,0,0
-    DEFPUSHBUTTON   "&OK",IDOK,211,185,50,14,0,0
-    PUSHBUTTON      "&Cancel",IDCANCEL,268,185,50,14,0,0
+    CONTROL         "List1",IDC_SHORTCUT_LIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_AUTOARRANGE | LVS_EDITLABELS | WS_BORDER | WS_TABSTOP,7,16,261,88
+    EDITTEXT        IDC_NAME_EDIT,77,123,228,14,ES_AUTOHSCROLL
+    CONTROL         "",IDC_PATH_COMBOBOXEX,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP,77,142,205,89
+    PUSHBUTTON      "...",IDC_BROWSE_BUTTON,286,142,18,13
+    PUSHBUTTON      "&Add",IDC_ADD_BUTTON,17,160,50,14
+    PUSHBUTTON      "&Update",IDC_CHANGE_BUTTON,69,160,50,14
+    PUSHBUTTON      "&Delete",IDC_DELETE_BUTTON,121,160,50,14
+    DEFPUSHBUTTON   "&OK",IDOK,211,185,50,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,268,185,50,14
     LTEXT           "Shortcuts:",IDC_001_STATIC,7,7,311,8
     LTEXT           "Name:",IDC_002_STATIC,18,126,53,8
     LTEXT           "Path:",IDC_003_STATIC,18,145,56,8
     GROUPBOX        "Shortcut properties",IDC_004_STATIC,7,111,311,70
-    PUSHBUTTON      "Move up",IDC_UP_BUTTON,273,47,45,14,0,0
-    PUSHBUTTON      "Move down",IDC_DOWN_BUTTON,273,63,45,14,0,0
+    PUSHBUTTON      "Move up",IDC_UP_BUTTON,273,47,45,14
+    PUSHBUTTON      "Move down",IDC_DOWN_BUTTON,273,63,45,14
 END
 
 IDD_RECENTEDIT_DIALOG DIALOGEX 0, 0, 325, 190
 STYLE DS_SETFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME
 CAPTION "Recent paths"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    CONTROL         "List1",IDC_RECENT_LIST,"SysListView32",LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_AUTOARRANGE | LVS_EDITLABELS | WS_BORDER | WS_TABSTOP,7,16,311,88,0
-    EDITTEXT        IDC_PATH_EDIT,20,123,266,14,ES_AUTOHSCROLL,0
-    PUSHBUTTON      "...",IDC_BROWSE_BUTTON,290,123,18,14,0,0
-    PUSHBUTTON      "&Add",IDC_ADD_BUTTON,20,141,50,14,0,0
-    PUSHBUTTON      "&Update",IDC_CHANGE_BUTTON,72,141,50,14,0,0
-    PUSHBUTTON      "&Delete",IDC_DELETE_BUTTON,124,141,50,14,0,0
-    DEFPUSHBUTTON   "&OK",IDOK,211,169,50,14,0,0
-    PUSHBUTTON      "&Cancel",IDCANCEL,268,169,50,14,0,0
+    CONTROL         "List1",IDC_RECENT_LIST,"SysListView32",LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_AUTOARRANGE | LVS_EDITLABELS | WS_BORDER | WS_TABSTOP,7,16,311,88
+    EDITTEXT        IDC_PATH_EDIT,20,123,266,14,ES_AUTOHSCROLL
+    PUSHBUTTON      "...",IDC_BROWSE_BUTTON,290,123,18,14
+    PUSHBUTTON      "&Add",IDC_ADD_BUTTON,20,141,50,14
+    PUSHBUTTON      "&Update",IDC_CHANGE_BUTTON,72,141,50,14
+    PUSHBUTTON      "&Delete",IDC_DELETE_BUTTON,124,141,50,14
+    DEFPUSHBUTTON   "&OK",IDOK,211,169,50,14
+    PUSHBUTTON      "&Cancel",IDCANCEL,268,169,50,14
     LTEXT           "Recently used paths:",IDC_001_STATIC,7,7,311,8
     GROUPBOX        "Path",IDC_002_STATIC,7,110,311,51
 END
@@ -345,7 +346,7 @@
 CAPTION "About ..."
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    DEFPUSHBUTTON   "&OK",IDOK,306,143,56,14,WS_GROUP,0
+    DEFPUSHBUTTON   "&OK",IDOK,306,143,56,14,WS_GROUP
     ICON            IDR_MAINFRAME,IDC_STATIC,11,14,20,20
     CTEXT           "",IDC_COPYRIGHT_STATIC,40,93,322,8
     CONTROL         "",IDC_HOMEPAGELINK_STATIC,"STATICEX",0x1,208,32,154,8
@@ -390,30 +391,42 @@
     CONTROL         "Custom1",IDC_MAINUPDATEINFO_CUSTOM,"STATICEX",0x30,47,7,251,14
 END
 
-IDD_FEEDBACK_REPLACE_DIALOG DIALOGEX 0, 0, 319, 186
+IDD_FEEDBACK_REPLACE_DIALOG DIALOGEX 0, 0, 364, 205
 STYLE DS_SETFONT | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
 CAPTION "File already exists"
 FONT 8, "MS Shell Dlg", 400, 0, 0x1
 BEGIN
-    PUSHBUTTON      "&Replace",IDC_REPLACE_BUTTON,8,148,60,14
-    PUSHBUTTON      "&Append",IDC_COPY_REST_BUTTON,69,148,60,14
-    PUSHBUTTON      "&Skip",IDC_SKIP_BUTTON,130,148,60,14
-    PUSHBUTTON      "&Pause",IDC_PAUSE_BUTTON,191,148,60,14
-    PUSHBUTTON      "&Cancel",IDC_CANCEL_BUTTON,252,148,60,14
-    CONTROL         "&Apply to all items",IDC_ALL_ITEMS_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,169,305,10
-    EDITTEXT        IDC_SRC_FILENAME_EDIT,54,31,251,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
-    EDITTEXT        IDC_SRC_PATH_EDIT,54,42,251,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
-    EDITTEXT        IDC_SRC_FILESIZE_EDIT,54,53,251,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
-    EDITTEXT        IDC_SRC_MODIFIEDDATE_EDIT,54,64,251,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
-    EDITTEXT        IDC_DST_FILENAME_EDIT,54,94,251,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
-    EDITTEXT        IDC_DST_PATH_EDIT,54,105,251,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
-    EDITTEXT        IDC_DST_FILESIZE_EDIT,54,116,251,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
-    EDITTEXT        IDC_DST_MODIFIEDDATE_EDIT,54,127,251,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
-    LTEXT           "File you are trying to copy already exists. What do you want to do?",IDC_INFO_STATIC,7,7,305,15
+    PUSHBUTTON      "&Replace",IDC_REPLACE_BUTTON,7,162,69,14
+    PUSHBUTTON      "R&esume",IDC_COPY_REST_BUTTON,188,162,69,14
+    PUSHBUTTON      "&Skip",IDC_SKIP_BUTTON,276,162,69,14
+    PUSHBUTTON      "&Pause",IDC_PAUSE_BUTTON,188,183,81,14
+    PUSHBUTTON      "&Cancel",IDC_CANCEL_BUTTON,276,183,81,14
+    EDITTEXT        IDC_SRC_FILENAME_EDIT,96,34,201,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
+    EDITTEXT        IDC_SRC_PATH_EDIT,96,46,201,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
+    EDITTEXT        IDC_SRC_FILESIZE_EDIT,96,58,201,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
+    EDITTEXT        IDC_SRC_MODIFIEDDATE_EDIT,96,70,201,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
+    EDITTEXT        IDC_DST_FILENAME_EDIT,94,102,201,12,ES_AUTOHSCROLL
+    EDITTEXT        IDC_DST_PATH_EDIT,94,117,201,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
+    EDITTEXT        IDC_DST_FILESIZE_EDIT,94,129,201,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
+    EDITTEXT        IDC_DST_MODIFIEDDATE_EDIT,94,141,201,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
+    LTEXT           "File you are trying to copy already exists. What do you want to do?",IDC_INFO_STATIC,7,7,350,15
     ICON            "",IDC_SRC_ICON_STATIC,20,38,20,20
-    ICON            "",IDC_DST_ICON_STATIC,20,102,20,20
-    GROUPBOX        "Source file",IDC_SRCFILE_STATIC,7,20,305,58
-    GROUPBOX        "Destination file",IDC_DSTFILE_STATIC,7,83,305,58
+    ICON            "",IDC_DST_ICON_STATIC,20,108,20,20
+    GROUPBOX        "Source file",IDC_SRCFILE_STATIC,7,20,350,66
+    GROUPBOX        "Destination file",IDC_DSTFILE_STATIC,7,90,350,66
+    CONTROL         "",IDC_MASS_REPLACE_MENUBUTTON,"MfcMenuButton",WS_TABSTOP,76,162,12,14
+    LTEXT           "Name:",IDC_SRC_NAME_STATIC,49,34,23,8
+    LTEXT           "Location:",IDC_SRC_LOCATION_STATIC,49,46,31,8
+    LTEXT           "Size:",IDC_SRC_SIZE_STATIC,49,58,18,8
+    LTEXT           "Modified:",IDC_SRC_TIME_STATIC,49,70,31,8
+    LTEXT           "Name:",IDC_DST_NAME_STATIC,47,104,23,8
+    LTEXT           "Location:",IDC_DST_LOCATION_STATIC,47,117,31,8
+    LTEXT           "Size:",IDC_DST_SIZE_STATIC,47,129,18,8
+    LTEXT           "Modified:",IDC_DST_TIME_STATIC,47,141,31,8
+    PUSHBUTTON      "&Rename",IDC_RENAME_BUTTON,96,162,69,14
+    CONTROL         "",IDC_MASS_RENAME_MENUBUTTON,"MfcMenuButton",WS_TABSTOP,165,162,12,14
+    CONTROL         "",IDC_MASS_RESUME_MENUBUTTON,"MfcMenuButton",WS_TABSTOP,257,162,12,14
+    CONTROL         "",IDC_MASS_SKIP_MENUBUTTON,"MfcMenuButton",WS_TABSTOP,345,162,12,14
 END
 
 
@@ -548,16 +561,128 @@
     IDD_FEEDBACK_REPLACE_DIALOG, DIALOG
     BEGIN
         LEFTMARGIN, 7
-        RIGHTMARGIN, 312
+        RIGHTMARGIN, 357
         TOPMARGIN, 7
-        BOTTOMMARGIN, 179
+        BOTTOMMARGIN, 197
     END
 END
 #endif    // APSTUDIO_INVOKED
 
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// AFX_DIALOG_LAYOUT
+//
+
+IDD_STATUS_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_UPDATER_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_FEEDBACK_REPLACE_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 100, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0,
+    0, 0, 0, 0
+END
+
+IDD_CUSTOM_COPY_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_MSGBOX_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_ABOUTBOX AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_BUFFERSIZE_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_CRASH_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_FEEDBACK_FILE_ERROR_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_FEEDBACK_NOTENOUGHSPACE_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_FILTER_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_OPTIONS_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_RECENTEDIT_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_SHORTCUTEDIT_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+IDD_SHUTDOWN_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
@@ -681,8 +806,8 @@
 
 2 TEXTINCLUDE 
 BEGIN
-    "#define _USING_V110_SDK71_ 1\r\n"
     "#include ""afxres.h""\r\n"
+    "#include ""verrsrc.h""\r\n"
     "\0"
 END
 
@@ -694,12 +819,12 @@
     "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
     "\r\n"
     "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
-    "#if defined(_WIN32) || defined(_WIN64)\r\n"
     "LANGUAGE 9, 1\r\n"
-    "#pragma code_page(1252)\r\n"
-    "#endif\r\n"
     "#include ""res\\ch.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
     "#include ""afxres.rc""         // Standard components\r\n"
+    "#ifndef _AFXDLL\r\n"
+    "#include ""afxribbon.rc""      // Ribbon and control bars\r\n"
+    "#endif\r\n"
     "#endif\0"
 END
 
@@ -708,85 +833,83 @@
 
 /////////////////////////////////////////////////////////////////////////////
 //
-// AFX_DIALOG_LAYOUT
+// Dialog Info
 //
 
-IDD_STATUS_DIALOG AFX_DIALOG_LAYOUT
+IDD_FEEDBACK_REPLACE_DIALOG DLGINIT
 BEGIN
+    IDC_MASS_REPLACE_MENUBUTTON, 0x37c, 283, 0
+0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x4f5f, 0x4d53, 
+0x6e65, 0x3e75, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x654d, 0x756e, 
+0x7542, 0x7474, 0x6e6f, 0x4f5f, 0x4d53, 0x6e65, 0x3e75, 0x4d3c, 0x4346, 
+0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x525f, 0x6769, 0x7468, 0x7241, 
+0x6f72, 0x3e77, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x654d, 0x756e, 
+0x7542, 0x7474, 0x6e6f, 0x525f, 0x6769, 0x7468, 0x7241, 0x6f72, 0x3e77, 
+0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x535f, 0x6174, 
+0x5079, 0x6572, 0x7373, 0x6465, 0x463e, 0x4c41, 0x4553, 0x2f3c, 0x464d, 
+0x4d43, 0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 0x7453, 0x7961, 0x7250, 
+0x7365, 0x6573, 0x3e64, 0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 
+0x6e6f, 0x445f, 0x6665, 0x7561, 0x746c, 0x6c43, 0x6369, 0x3e6b, 0x5254, 
+0x4555, 0x2f3c, 0x464d, 0x4d43, 0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 
+0x6544, 0x6166, 0x6c75, 0x4374, 0x696c, 0x6b63, 0x3c3e, 0x464d, 0x4d43, 
+0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 0x7541, 0x6f74, 0x6973, 0x657a, 
+0x463e, 0x4c41, 0x4553, 0x2f3c, 0x464d, 0x4d43, 0x6e65, 0x4275, 0x7475, 
+0x6f74, 0x5f6e, 0x7541, 0x6f74, 0x6973, 0x657a, "\076" 
+    IDC_MASS_RENAME_MENUBUTTON, 0x37c, 283, 0
+0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x4f5f, 0x4d53, 
+0x6e65, 0x3e75, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x654d, 0x756e, 
+0x7542, 0x7474, 0x6e6f, 0x4f5f, 0x4d53, 0x6e65, 0x3e75, 0x4d3c, 0x4346, 
+0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x525f, 0x6769, 0x7468, 0x7241, 
+0x6f72, 0x3e77, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x654d, 0x756e, 
+0x7542, 0x7474, 0x6e6f, 0x525f, 0x6769, 0x7468, 0x7241, 0x6f72, 0x3e77, 
+0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x535f, 0x6174, 
+0x5079, 0x6572, 0x7373, 0x6465, 0x463e, 0x4c41, 0x4553, 0x2f3c, 0x464d, 
+0x4d43, 0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 0x7453, 0x7961, 0x7250, 
+0x7365, 0x6573, 0x3e64, 0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 
+0x6e6f, 0x445f, 0x6665, 0x7561, 0x746c, 0x6c43, 0x6369, 0x3e6b, 0x5254, 
+0x4555, 0x2f3c, 0x464d, 0x4d43, 0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 
+0x6544, 0x6166, 0x6c75, 0x4374, 0x696c, 0x6b63, 0x3c3e, 0x464d, 0x4d43, 
+0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 0x7541, 0x6f74, 0x6973, 0x657a, 
+0x463e, 0x4c41, 0x4553, 0x2f3c, 0x464d, 0x4d43, 0x6e65, 0x4275, 0x7475, 
+0x6f74, 0x5f6e, 0x7541, 0x6f74, 0x6973, 0x657a, "\076" 
+    IDC_MASS_RESUME_MENUBUTTON, 0x37c, 283, 0
+0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x4f5f, 0x4d53, 
+0x6e65, 0x3e75, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x654d, 0x756e, 
+0x7542, 0x7474, 0x6e6f, 0x4f5f, 0x4d53, 0x6e65, 0x3e75, 0x4d3c, 0x4346, 
+0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x525f, 0x6769, 0x7468, 0x7241, 
+0x6f72, 0x3e77, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x654d, 0x756e, 
+0x7542, 0x7474, 0x6e6f, 0x525f, 0x6769, 0x7468, 0x7241, 0x6f72, 0x3e77, 
+0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x535f, 0x6174, 
+0x5079, 0x6572, 0x7373, 0x6465, 0x463e, 0x4c41, 0x4553, 0x2f3c, 0x464d, 
+0x4d43, 0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 0x7453, 0x7961, 0x7250, 
+0x7365, 0x6573, 0x3e64, 0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 
+0x6e6f, 0x445f, 0x6665, 0x7561, 0x746c, 0x6c43, 0x6369, 0x3e6b, 0x5254, 
+0x4555, 0x2f3c, 0x464d, 0x4d43, 0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 
+0x6544, 0x6166, 0x6c75, 0x4374, 0x696c, 0x6b63, 0x3c3e, 0x464d, 0x4d43, 
+0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 0x7541, 0x6f74, 0x6973, 0x657a, 
+0x463e, 0x4c41, 0x4553, 0x2f3c, 0x464d, 0x4d43, 0x6e65, 0x4275, 0x7475, 
+0x6f74, 0x5f6e, 0x7541, 0x6f74, 0x6973, 0x657a, "\076" 
+    IDC_MASS_SKIP_MENUBUTTON, 0x37c, 283, 0
+0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x4f5f, 0x4d53, 
+0x6e65, 0x3e75, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x654d, 0x756e, 
+0x7542, 0x7474, 0x6e6f, 0x4f5f, 0x4d53, 0x6e65, 0x3e75, 0x4d3c, 0x4346, 
+0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x525f, 0x6769, 0x7468, 0x7241, 
+0x6f72, 0x3e77, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x654d, 0x756e, 
+0x7542, 0x7474, 0x6e6f, 0x525f, 0x6769, 0x7468, 0x7241, 0x6f72, 0x3e77, 
+0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 0x6e6f, 0x535f, 0x6174, 
+0x5079, 0x6572, 0x7373, 0x6465, 0x463e, 0x4c41, 0x4553, 0x2f3c, 0x464d, 
+0x4d43, 0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 0x7453, 0x7961, 0x7250, 
+0x7365, 0x6573, 0x3e64, 0x4d3c, 0x4346, 0x654d, 0x756e, 0x7542, 0x7474, 
+0x6e6f, 0x445f, 0x6665, 0x7561, 0x746c, 0x6c43, 0x6369, 0x3e6b, 0x5254, 
+0x4555, 0x2f3c, 0x464d, 0x4d43, 0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 
+0x6544, 0x6166, 0x6c75, 0x4374, 0x696c, 0x6b63, 0x3c3e, 0x464d, 0x4d43, 
+0x6e65, 0x4275, 0x7475, 0x6f74, 0x5f6e, 0x7541, 0x6f74, 0x6973, 0x657a, 
+0x463e, 0x4c41, 0x4553, 0x2f3c, 0x464d, 0x4d43, 0x6e65, 0x4275, 0x7475, 
+0x6f74, 0x5f6e, 0x7541, 0x6f74, 0x6973, 0x657a, "\076" 
     0
 END
 
-IDD_UPDATER_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
 
-IDD_FEEDBACK_REPLACE_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_CUSTOM_COPY_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_MSGBOX_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_ABOUTBOX AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_BUFFERSIZE_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_CRASH_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_FEEDBACK_FILE_ERROR_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_FEEDBACK_NOTENOUGHSPACE_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_FILTER_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_OPTIONS_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_RECENTEDIT_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_SHORTCUTEDIT_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-IDD_SHUTDOWN_DIALOG AFX_DIALOG_LAYOUT
-BEGIN
-    0
-END
-
-
 /////////////////////////////////////////////////////////////////////////////
 //
 // String Table
@@ -1017,6 +1140,7 @@
     IDS_STATUS_LOADERROR_STRING "Load error"
     IDS_EXPORTING_TASK_FAILED "Exporting task data failed. Reason: %reason."
     IDS_BUTTON_TRUNCATE_STRING "&Truncate"
+    IDS_LOGFILEEMPTY_STRING "Log file is empty"
 END
 
 STRINGTABLE
@@ -1036,7 +1160,6 @@
     IDS_SHELLEXECUTEERROR_STRING 
                             "Error #%errno calling ShellExecute for file %path"
     IDS_BSDEFAULT_STRING    "Default: "
-	IDS_LOGFILEEMPTY_STRING "Log file is empty"
 END
 
 STRINGTABLE
@@ -1242,9 +1365,6 @@
     IDS_BDDIR_STRING        "Directory"
     IDS_BDTREE_STRING       "Tree"
     IDS_BDNDSCONTAINER_STRING "NDS Container"
-    IDS_INFO_PATH_STRING    "Location: %pathname"
-    IDS_INFO_SIZE_STRING    "Size: %size"
-    IDS_INFO_MODIFIED_STRING "Modified: %datemod"
 END
 
 STRINGTABLE
@@ -1312,13 +1432,13 @@
 #define _AFX_NO_PROPERTY_RESOURCES
 
 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#if defined(_WIN32) || defined(_WIN64)
 LANGUAGE 9, 1
-#pragma code_page(1252)
-#endif
 #include "res\ch.rc2"  // non-Microsoft Visual C++ edited resources
 #include "afxres.rc"         // Standard components
+#ifndef _AFXDLL
+#include "afxribbon.rc"      // Ribbon and control bars
 #endif
+#endif
 /////////////////////////////////////////////////////////////////////////////
 #endif    // not APSTUDIO_INVOKED
 
Index: src/ch/ch.vc140.vcxproj
===================================================================
diff -u -r2dea2d82eb5c11d9e92d42e47f876e58c4505c4b -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/ch.vc140.vcxproj	(.../ch.vc140.vcxproj)	(revision 2dea2d82eb5c11d9e92d42e47f876e58c4505c4b)
+++ src/ch/ch.vc140.vcxproj	(.../ch.vc140.vcxproj)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -580,7 +580,6 @@
     <ClInclude Include="stdafx.h" />
     <ClInclude Include="TCommandLineParser.h" />
     <ClInclude Include="MainWnd.h" />
-    <ClInclude Include="MemDC.h" />
     <ClInclude Include="Theme Helpers.h" />
     <ClInclude Include="TrayIcon.h" />
     <ClInclude Include="DirTreeCtrl.h" />
Index: src/ch/ch.vc140.vcxproj.filters
===================================================================
diff -u -r1c366a50e84393bce67e50dcccc4fc5ff147db27 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/ch.vc140.vcxproj.filters	(.../ch.vc140.vcxproj.filters)	(revision 1c366a50e84393bce67e50dcccc4fc5ff147db27)
+++ src/ch/ch.vc140.vcxproj.filters	(.../ch.vc140.vcxproj.filters)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -105,9 +105,6 @@
     <ClInclude Include="MainWnd.h">
       <Filter>Source Files\GUI</Filter>
     </ClInclude>
-    <ClInclude Include="MemDC.h">
-      <Filter>Source Files\GUI</Filter>
-    </ClInclude>
     <ClInclude Include="Theme Helpers.h">
       <Filter>Source Files\GUI</Filter>
     </ClInclude>
Index: src/ch/resource.h
===================================================================
diff -u -r1c366a50e84393bce67e50dcccc4fc5ff147db27 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/ch/resource.h	(.../resource.h)	(revision 1c366a50e84393bce67e50dcccc4fc5ff147db27)
+++ src/ch/resource.h	(.../resource.h)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -323,6 +323,7 @@
 #define IDC_OPEN_WEBPAGE_BUTTON         1283
 #define IDC_LANGUAGE_STATIC             1284
 #define IDC_REPLACE_BUTTON              1285
+#define IDC_RENAME_BUTTON               1286
 #define IDC_ALL_ITEMS_CHECK             1287
 #define IDC_SKIP_BUTTON                 1288
 #define IDC_SRC_ICON_STATIC             1291
@@ -362,8 +363,8 @@
 #define IDC_UPDATESFREQ_COMBO           1326
 #define IDC_MAXREADAHEAD_EDIT           1326
 #define IDC_LIST1                       1327
-#define IDC_MAXCONCURRENTREADS_EDIT            1327
-#define IDC_MAXCONCURRENTWRITES_EDIT           1328
+#define IDC_MAXCONCURRENTREADS_EDIT     1327
+#define IDC_MAXCONCURRENTWRITES_EDIT    1328
 #define IDC_RICHEDIT21                  1329
 #define IDC_CHANGELOG_RICHEDIT          1329
 #define IDC_MAINUPDATEINFO_CUSTOM       1330
@@ -381,6 +382,19 @@
 #define IDC_SRC_PATH_EDIT               1346
 #define IDC_SRCFILE_STATIC              1347
 #define IDC_DSTFILE_STATIC              1348
+#define IDC_MASS_REPLACE_MENUBUTTON     1376
+#define IDC_MASS_RENAME_MENUBUTTON      1377
+#define IDC_NAME_STATIC                 1378
+#define IDC_SRC_NAME_STATIC             1378
+#define IDC_SRC_LOCATION_STATIC         1379
+#define IDC_SRC_SIZE_STATIC             1380
+#define IDC_SRC_TIME_STATIC             1381
+#define IDC_DST_NAME_STATIC             1382
+#define IDC_DST_LOCATION_STATIC         1383
+#define IDC_DST_SIZE_STATIC             1384
+#define IDC_DST_TIME_STATIC             1385
+#define IDC_MASS_RESUME_MENUBUTTON      1386
+#define IDC_MASS_SKIP_MENUBUTTON        1387
 #define IDS_APPNAME_STRING              5000
 #define IDS_PRIORITY0_STRING            5001
 #define IDS_PRIORITY1_STRING            5002
@@ -544,8 +558,8 @@
 #define IDS_CFGLOGLEVEL_SUBTASK_FASTMOVE 8115
 #define IDS_CFGLOGLEVEL_SUBTASK_DELETE  8116
 #define IDS_CFGLOGLEVEL_FILESYSTEM      8117
-#define IDS_BUFFER_MAX_READAHEAD         8118
-#define IDS_BUFFER_MAX_CONCURRENT_READS  8119
+#define IDS_BUFFER_MAX_READAHEAD        8118
+#define IDS_BUFFER_MAX_CONCURRENT_READS 8119
 #define IDS_BUFFER_MAX_CONCURRENT_WRITES 8120
 #define IDS_MENUCOPY_STRING             9000
 #define IDS_MENUMOVE_STRING             9001
@@ -602,9 +616,6 @@
 #define IDS_BDDIR_STRING                13034
 #define IDS_BDTREE_STRING               13035
 #define IDS_BDNDSCONTAINER_STRING       13036
-#define IDS_INFO_PATH_STRING            13037
-#define IDS_INFO_SIZE_STRING            13038
-#define IDS_INFO_MODIFIED_STRING        13039
 #define IDS_INFO_REASON_STRING          13040
 #define IDS_INFO_FILE_STRING            13041
 #define IDS_TITLECOPY_STRING            13500
@@ -728,9 +739,9 @@
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_3D_CONTROLS                     1
-#define _APS_NEXT_RESOURCE_VALUE        221
+#define _APS_NEXT_RESOURCE_VALUE        225
 #define _APS_NEXT_COMMAND_VALUE         32819
-#define _APS_NEXT_CONTROL_VALUE         1348
+#define _APS_NEXT_CONTROL_VALUE         1387
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif
Index: src/libictranslate/LanguageDialog.cpp
===================================================================
diff -u -r1c366a50e84393bce67e50dcccc4fc5ff147db27 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/libictranslate/LanguageDialog.cpp	(.../LanguageDialog.cpp)	(revision 1c366a50e84393bce67e50dcccc4fc5ff147db27)
+++ src/libictranslate/LanguageDialog.cpp	(.../LanguageDialog.cpp)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -331,7 +331,7 @@
 	/////////////////////////////////////////////////////////////////////////////
 	// CLanguageDialog dialog
 
-	BEGIN_MESSAGE_MAP(CLanguageDialog, CDialog)
+	BEGIN_MESSAGE_MAP(CLanguageDialog, CDialogEx)
 	END_MESSAGE_MAP()
 
 
@@ -344,7 +344,7 @@
 	//		already been shown. Should be declared in derived class
 	//		as 'static bool m_xxx;' and initialized to 0.
 	///////////////////////////////////////////////////////////////
-	CLanguageDialog::CLanguageDialog(bool* pLock) : CDialog()
+	CLanguageDialog::CLanguageDialog(bool* pLock) : CDialogEx()
 	{
 		m_pszResName = nullptr;
 		m_uiResID = 0;
@@ -368,7 +368,7 @@
 	// pParent [in] - logical (everyone knows)
 	// pLock [in] - address of a bool for dialog instance checks
 	///////////////////////////////////////////////////////////////
-	CLanguageDialog::CLanguageDialog(PCTSTR lpszTemplateName, CWnd* pParent, bool* pLock) : CDialog()
+	CLanguageDialog::CLanguageDialog(PCTSTR lpszTemplateName, CWnd* pParent, bool* pLock) : CDialogEx()
 	{
 		m_pszResName = lpszTemplateName;
 		if(IS_INTRESOURCE(lpszTemplateName))
@@ -395,7 +395,7 @@
 	// pParent [in] - logical (everyone knows)
 	// pLock [in] - address of a bool for dialog instance checks
 	///////////////////////////////////////////////////////////////
-	CLanguageDialog::CLanguageDialog(UINT uiIDTemplate, CWnd* pParent, bool* pLock) : CDialog()
+	CLanguageDialog::CLanguageDialog(UINT uiIDTemplate, CWnd* pParent, bool* pLock) : CDialogEx()
 	{
 		m_pszResName = MAKEINTRESOURCE(uiIDTemplate);
 		m_uiResID = uiIDTemplate;
@@ -450,7 +450,7 @@
 				return -1;
 		}
 		m_cType = 0;
-		return CDialog::DoModal();
+		return CDialogEx::DoModal();
 	}
 
 	///////////////////////////////////////////////////////////////
@@ -609,7 +609,12 @@
 			pWnd->SetWindowPos(nullptr, rc.left, rc.top, rc.Width(), rc.Height(), SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOACTIVATE);
 
 			// text/caption
-			if((*it).m_wClass == 0x0080 || (*it).m_wClass == 0x0082 || (*it).m_wClass == 0x0086 || ((*it).m_pszClass != nullptr && _tcscmp((*it).m_pszClass, _T("STATICEX")) == 0))
+			if((*it).m_wClass == 0x0080 ||
+				(*it).m_wClass == 0x0082 ||
+				(*it).m_wClass == 0x0086 ||
+				((*it).m_pszClass != nullptr && _tcscmp((*it).m_pszClass, _T("STATICEX")) == 0) ||
+				((*it).m_pszClass != nullptr && _tcscmp((*it).m_pszClass, _T("MfcMenuButton")) == 0)
+				)
 				pWnd->SetWindowText(m_prm->LoadString((WORD)m_uiResID, (*it).m_itemTemplate.id));
 		}
 
@@ -641,7 +646,7 @@
 	///////////////////////////////////////////////////////////////
 	BOOL CLanguageDialog::OnInitDialog()
 	{
-		CDialog::OnInitDialog();
+		CDialogEx::OnInitDialog();
 
 		UpdateLanguage();		// because initially all the texts are empty
 
@@ -660,7 +665,7 @@
 		switch(m_cType)
 		{
 		case 0:
-			CDialog::OnCancel();
+			CDialogEx::OnCancel();
 			break;
 		case 1:
 			DestroyWindow();
@@ -677,7 +682,7 @@
 		switch(m_cType)
 		{
 		case 0:
-			CDialog::OnOK();
+			CDialogEx::OnOK();
 			break;
 		case 1:
 			DestroyWindow();
@@ -690,7 +695,7 @@
 	///////////////////////////////////////////////////////////////
 	void CLanguageDialog::PostNcDestroy()
 	{
-		CDialog::PostNcDestroy();
+		CDialogEx::PostNcDestroy();
 		Cleanup();
 	}
 
@@ -734,7 +739,7 @@
 		}
 		}
 
-		return CDialog::WindowProc(message, wParam, lParam);
+		return CDialogEx::WindowProc(message, wParam, lParam);
 	}
 
 	///////////////////////////////////////////////////////////////
Index: src/libictranslate/LanguageDialog.h
===================================================================
diff -u -r1c366a50e84393bce67e50dcccc4fc5ff147db27 -r547f865c69434c14c6f16e4b529d4198f6fe2040
--- src/libictranslate/LanguageDialog.h	(.../LanguageDialog.h)	(revision 1c366a50e84393bce67e50dcccc4fc5ff147db27)
+++ src/libictranslate/LanguageDialog.h	(.../LanguageDialog.h)	(revision 547f865c69434c14c6f16e4b529d4198f6fe2040)
@@ -61,6 +61,7 @@
 
 #include "libictranslate.h"
 #include "ResourceManager.h"
+#include <afxdialogex.h>
 
 namespace ictranslate
 {
@@ -176,7 +177,7 @@
 #define LDF_NODIALOGSIZE 0x01
 #define LDF_NODIALOGFONT 0x02
 
-	class LIBICTRANSLATE_API CLanguageDialog : public CDialog
+	class LIBICTRANSLATE_API CLanguageDialog : public CDialogEx
 	{
 	public:
 		// Construction/destruction