Index: src/ch/CDragDropComboEx.cpp
===================================================================
diff -u
--- src/ch/CDragDropComboEx.cpp	(revision 0)
+++ src/ch/CDragDropComboEx.cpp	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -0,0 +1,72 @@
+// ============================================================================
+//  Copyright (C) 2001-2016 by Jozef Starosczyk
+//  ixen@copyhandler.com
+//
+//  This program is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Library General Public License
+//  (version 2) as published by the Free Software Foundation;
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU Library General Public
+//  License along with this program; if not, write to the
+//  Free Software Foundation, Inc.,
+//  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// ============================================================================
+#include "stdafx.h"
+#include "CDragDropComboEx.h"
+
+BEGIN_MESSAGE_MAP(CDragDropComboEx, CComboBoxEx)
+	ON_WM_DROPFILES()
+END_MESSAGE_MAP()
+
+CDragDropComboEx::CDragDropComboEx() : CComboBoxEx()
+{
+}
+
+void CDragDropComboEx::PreSubclassWindow()
+{
+	DragAcceptFiles(TRUE);
+}
+
+void CDragDropComboEx::OnDropFiles(HDROP hDrop)
+{
+	UINT uiPathsCount = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0);
+
+	wchar_t szFilename[ MAX_PATH + 1 ];
+	for(UINT iIndex = 0; iIndex < uiPathsCount; ++iIndex)
+	{
+		if(DragQueryFile(hDrop, iIndex, szFilename, MAX_PATH + 1) != 0)
+		{
+			DWORD dwAttributes = GetFileAttributes(szFilename);
+			if(dwAttributes & FILE_ATTRIBUTE_DIRECTORY)
+			{
+				SetPath(szFilename);
+				break;
+			}
+		}
+	}
+
+	DragFinish(hDrop);
+}
+
+void CDragDropComboEx::SetPath(const CString& strPath)
+{
+	// set current select to -1
+	SetCurSel(-1);
+
+	SHFILEINFO sfi;
+	sfi.iIcon = -1;
+	SHGetFileInfo(strPath, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(sfi), SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
+
+	COMBOBOXEXITEM cbi;
+	cbi.mask = CBEIF_TEXT | CBEIF_IMAGE;
+	cbi.iItem = -1;
+	cbi.pszText = (PTSTR)(PCTSTR)strPath;
+	cbi.iImage = sfi.iIcon;
+
+	SetItem(&cbi);
+}
Index: src/ch/CDragDropComboEx.h
===================================================================
diff -u
--- src/ch/CDragDropComboEx.h	(revision 0)
+++ src/ch/CDragDropComboEx.h	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -0,0 +1,38 @@
+// ============================================================================
+//  Copyright (C) 2001-2016 by Jozef Starosczyk
+//  ixen@copyhandler.com
+//
+//  This program is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Library General Public License
+//  (version 2) as published by the Free Software Foundation;
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU Library General Public
+//  License along with this program; if not, write to the
+//  Free Software Foundation, Inc.,
+//  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// ============================================================================
+#ifndef __CDRAGDROPCOMBOEX_H__
+#define __CDRAGDROPCOMBOEX_H__
+
+class CDragDropComboEx : public CComboBoxEx
+{
+public:
+	CDragDropComboEx();
+
+	void SetPath(const CString& strPath);
+
+protected:
+	afx_msg void OnDropFiles(HDROP hDrop);
+
+	virtual void PreSubclassWindow();
+
+private:
+	DECLARE_MESSAGE_MAP();
+};
+
+#endif
Index: src/ch/CDragDropListCtrl.cpp
===================================================================
diff -u
--- src/ch/CDragDropListCtrl.cpp	(revision 0)
+++ src/ch/CDragDropListCtrl.cpp	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -0,0 +1,70 @@
+// ============================================================================
+//  Copyright (C) 2001-2016 by Jozef Starosczyk
+//  ixen@copyhandler.com
+//
+//  This program is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Library General Public License
+//  (version 2) as published by the Free Software Foundation;
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU Library General Public
+//  License along with this program; if not, write to the
+//  Free Software Foundation, Inc.,
+//  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// ============================================================================
+#include "stdafx.h"
+#include "CDragDropListCtrl.h"
+
+BEGIN_MESSAGE_MAP(CDragDropListCtrl, CListCtrl)
+	ON_WM_DROPFILES()
+END_MESSAGE_MAP()
+
+CDragDropListCtrl::CDragDropListCtrl() :
+	CListCtrl()
+{
+}
+
+void CDragDropListCtrl::PreSubclassWindow()
+{
+	// some styles
+	SetExtendedStyle(GetExtendedStyle() | LVS_EX_FULLROWSELECT);
+
+	DragAcceptFiles(TRUE);
+}
+
+void CDragDropListCtrl::OnDropFiles(HDROP hDrop)
+{
+	UINT uiPathsCount = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0);
+
+	wchar_t szFilename[MAX_PATH + 1];
+	for(UINT iIndex = 0; iIndex < uiPathsCount; ++iIndex)
+	{
+		if(DragQueryFile(hDrop, iIndex, szFilename, MAX_PATH + 1) != 0)
+			AddPath(szFilename);
+	}
+
+	DragFinish(hDrop);
+}
+
+void CDragDropListCtrl::AddPath(const CString& strPath)
+{
+	// fill listbox with paths
+	LVITEM lvi;
+	lvi.mask = LVIF_TEXT | LVIF_IMAGE;
+	lvi.iItem = GetItemCount();
+	lvi.iSubItem = 0;
+
+	// there's no need for a high speed so get the images
+	SHFILEINFO sfi;
+	SHGetFileInfo(strPath, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
+
+	// fill the list
+	lvi.pszText = (PTSTR)(PCTSTR)strPath;
+	lvi.cchTextMax = lstrlen(lvi.pszText);
+	lvi.iImage = sfi.iIcon;
+	InsertItem(&lvi);
+}
Index: src/ch/CDragDropListCtrl.h
===================================================================
diff -u
--- src/ch/CDragDropListCtrl.h	(revision 0)
+++ src/ch/CDragDropListCtrl.h	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -0,0 +1,38 @@
+// ============================================================================
+//  Copyright (C) 2001-2016 by Jozef Starosczyk
+//  ixen@copyhandler.com
+//
+//  This program is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Library General Public License
+//  (version 2) as published by the Free Software Foundation;
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU Library General Public
+//  License along with this program; if not, write to the
+//  Free Software Foundation, Inc.,
+//  59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// ============================================================================
+#ifndef __CDRAGDROPLISTCTRL_H__
+#define __CDRAGDROPLISTCTRL_H__
+
+class CDragDropListCtrl : public CListCtrl
+{
+public:
+	CDragDropListCtrl();
+
+	void AddPath(const CString& strPath);
+
+protected:
+	afx_msg void OnDropFiles(HDROP hDrop);
+
+	virtual void PreSubclassWindow();
+
+private:
+	DECLARE_MESSAGE_MAP();
+};
+
+#endif
Index: src/ch/CustomCopyDlg.cpp
===================================================================
diff -u -r8dc649003961dad64b92da67426814fb5dd862e0 -r926b1177cffa2face218fabb3d8af71910d1b8e5
--- src/ch/CustomCopyDlg.cpp	(.../CustomCopyDlg.cpp)	(revision 8dc649003961dad64b92da67426814fb5dd862e0)
+++ src/ch/CustomCopyDlg.cpp	(.../CustomCopyDlg.cpp)	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -69,7 +69,6 @@
 	//}}AFX_DATA_MAP
 }
 
-
 BEGIN_MESSAGE_MAP(CCustomCopyDlg,ictranslate::CLanguageDialog)
 	//{{AFX_MSG_MAP(CCustomCopyDlg)
 	ON_BN_CLICKED(IDC_ADDDIR_BUTTON, OnAddDirectoryButton)
@@ -90,6 +89,7 @@
 	ON_BN_CLICKED(IDC_IGNOREFOLDERS_CHECK, OnIgnorefoldersCheck)
 	ON_BN_CLICKED(IDC_FORCEDIRECTORIES_CHECK, OnForcedirectoriesCheck)
 	ON_BN_CLICKED(IDC_EXPORT_BUTTON, OnExportButtonClicked)
+	ON_WM_SIZE()
 	//}}AFX_MSG_MAP
 END_MESSAGE_MAP()
 
@@ -141,6 +141,7 @@
 	AddResizableControl(IDOK, 1.0, 1.0, 0.0, 0.0);
 	AddResizableControl(IDCANCEL, 1.0, 1.0, 0.0, 0.0);
 	AddResizableControl(IDC_HELP_BUTTON, 1.0, 1.0, 0.0, 0.0);
+	AddResizableControl(IDC_EXPORT_BUTTON, 0.0, 1.0, 0.0, 0.0);
 
 	InitializeResizableControls();
 
@@ -149,7 +150,7 @@
 
 	// paths' listbox - init images - system image list
 	SHFILEINFO sfi;
-	HIMAGELIST hImageList = (HIMAGELIST)SHGetFileInfo(_T("C:\\"), FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(SHFILEINFO), 
+	HIMAGELIST hImageList = (HIMAGELIST)SHGetFileInfo(_T("C:\\"), FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(SHFILEINFO),
 		SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
 
 	m_ilImages.Attach(hImageList);
@@ -161,8 +162,7 @@
 	rc.right-=GetSystemMetrics(SM_CXEDGE)*2;
 
 	// some styles
-	m_ctlFiles.SetExtendedStyle(m_ctlFiles.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
-	m_ctlFilters.SetExtendedStyle(m_ctlFiles.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
+	m_ctlFilters.SetExtendedStyle(m_ctlFilters.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
 
 	// paths' listbox - add one column
 	LVCOLUMN lvc;
@@ -199,8 +199,7 @@
 	}
 
 	// destination path
-	SetComboPath(m_tTaskDefinition.GetDestinationPath().ToString());
-//	m_strDest=m_ccData.m_strDestPath;	//**
+	m_ctlDstPath.SetPath(m_tTaskDefinition.GetDestinationPath().ToString());
 
 	// operation type
 	m_ctlOperation.AddString(GetResManager().LoadString(IDS_CCDCOPY_STRING));
@@ -222,7 +221,7 @@
 
 	// list width
 	m_ctlFilters.GetWindowRect(&rc);
-	rc.right-=GetSystemMetrics(SM_CXEDGE)*2;
+	rc.right -= GetSystemMetrics(SM_CXEDGE)*2;
 
 	// filter - some columns in a header
 	lvc.mask=LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
@@ -290,16 +289,8 @@
 	UpdateData(TRUE);
 
 	// count the width of a list
-	CRect rc;
-	m_ctlFiles.GetWindowRect(&rc);
-	rc.right-=GetSystemMetrics(SM_CXEDGE)*2;
+	UpdateFilesListCtrlHeaderWidth();
 
-	// change the width of a column
-	LVCOLUMN lvc;
-	lvc.mask=LVCF_WIDTH;
-	lvc.cx=rc.Width();
-	m_ctlFiles.SetColumn(0, &lvc);
-
 	// operation
 	int iPos=m_ctlOperation.GetCurSel();
 	m_ctlOperation.ResetContent();
@@ -322,6 +313,11 @@
 	// filter section (filter, size, date, attributes)
 	while(m_ctlFilters.DeleteColumn(0));		// delete all columns
 
+	CRect rc;
+	m_ctlFilters.GetWindowRect(&rc);
+	rc.right -= GetSystemMetrics(SM_CXEDGE) * 2;
+
+	LVCOLUMN lvc;
 	lvc.mask=LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
 	lvc.fmt=LVCFMT_LEFT;
 
@@ -443,8 +439,7 @@
 	CString strPath;
 	if (BrowseForFolder(GetResManager().LoadString(IDS_DSTFOLDERBROWSE_STRING), &strPath))
 	{
-		SetComboPath(strPath);
-//		m_strDest=strPath;	//**
+		m_ctlDstPath.SetPath(strPath);
 	}
 }
 
@@ -819,30 +814,6 @@
 	}
 }
 
-void CCustomCopyDlg::SetComboPath(LPCTSTR lpszText)
-{
-	_ASSERTE(lpszText);
-	if(!lpszText)
-		return;
-
-	// set current select to -1
-	m_ctlDstPath.SetCurSel(-1);
-
-	SHFILEINFO sfi;
-	sfi.iIcon=-1;
-
-	COMBOBOXEXITEM cbi;
-	TCHAR szPath[_MAX_PATH];
-
-	cbi.mask=CBEIF_TEXT | CBEIF_IMAGE;
-	cbi.iItem=-1;
-	_tcscpy(szPath, lpszText);
-	cbi.pszText=szPath;
-	SHGetFileInfo(cbi.pszText, FILE_ATTRIBUTE_NORMAL, &sfi, sizeof(sfi), SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
-	cbi.iImage=sfi.iIcon;
-	m_ctlDstPath.SetItem(&cbi);
-}
-
 void CCustomCopyDlg::UpdateComboIcon()
 {
 	// get text from combo
@@ -1067,3 +1038,26 @@
 
 	return true;
 }
+
+void CCustomCopyDlg::UpdateFilesListCtrlHeaderWidth()
+{
+	CRect rc;
+	m_ctlFiles.GetWindowRect(&rc);
+	rc.right -= GetSystemMetrics(SM_CXEDGE) * 2;
+
+	// change the width of a column
+	LVCOLUMN lvc;
+	lvc.mask = LVCF_WIDTH;
+	lvc.cx = rc.Width();
+	m_ctlFiles.SetColumn(0, &lvc);
+}
+
+void CCustomCopyDlg::OnSize(UINT nType, int /*cx*/, int /*cy*/)
+{
+	if(nType == SIZE_RESTORED || nType == SIZE_MAXIMIZED)
+	{
+		CWnd* pWnd = GetDlgItem(IDC_FILES_LIST);
+		if(pWnd)
+			UpdateFilesListCtrlHeaderWidth();
+	}
+}
Index: src/ch/CustomCopyDlg.h
===================================================================
diff -u -rcb4e9d4b60d62b25ae2cf556c0642601af56c787 -r926b1177cffa2face218fabb3d8af71910d1b8e5
--- src/ch/CustomCopyDlg.h	(.../CustomCopyDlg.h)	(revision cb4e9d4b60d62b25ae2cf556c0642601af56c787)
+++ src/ch/CustomCopyDlg.h	(.../CustomCopyDlg.h)	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -21,6 +21,8 @@
 
 #include "../libchcore/TFileFilter.h"
 #include "../libchcore/TTaskDefinition.h"
+#include "CDragDropListCtrl.h"
+#include "CDragDropComboEx.h"
 
 /////////////////////////////////////////////////////////////////////////////
 // CCustomCopyDlg dialog
@@ -42,9 +44,10 @@
 // Implementation
 protected:
 	virtual void OnLanguageChanged();
-	void UpdateDialog();
+
+	void UpdateFilesListCtrlHeaderWidth();
+
 	void UpdateComboIcon();
-	void SetComboPath(LPCTSTR lpszText);
 	void EnableControls();
 	void AddFilter(const chcore::TFileFilter& rFilter, int iPos=-1);
 	void AddPath(CString strPath);
@@ -75,19 +78,20 @@
 	afx_msg void OnIgnorefoldersCheck();
 	afx_msg void OnForcedirectoriesCheck();
 	afx_msg void OnExportButtonClicked();
+	afx_msg void OnSize(UINT nType, int cx, int cy);
 
 	DECLARE_MESSAGE_MAP()
 
 public:
 	chcore::TTaskDefinition m_tTaskDefinition;
 	std::vector<CString> m_vRecent;						// recently selected paths
 
-	CComboBoxEx	m_ctlDstPath;
+	CDragDropComboEx	m_ctlDstPath;
 	CListCtrl	m_ctlFilters;
 	CListBox	m_ctlBufferSizes;
 	CComboBox	m_ctlOperation;
 	CComboBox	m_ctlPriority;
-	CListCtrl	m_ctlFiles;
+	CDragDropListCtrl	m_ctlFiles;
 	CImageList m_ilImages;
 
 	bool m_bActualisation = false;	// is this dialog processing the combo text changing ?
Index: src/ch/FolderDialog.cpp
===================================================================
diff -u -r8dc649003961dad64b92da67426814fb5dd862e0 -r926b1177cffa2face218fabb3d8af71910d1b8e5
--- src/ch/FolderDialog.cpp	(.../FolderDialog.cpp)	(revision 8dc649003961dad64b92da67426814fb5dd862e0)
+++ src/ch/FolderDialog.cpp	(.../FolderDialog.cpp)	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -1027,7 +1027,7 @@
 
 	// settings
 	const int iMargin=7;	// dialog units
-	const int iTextCount=3;	// ilo�� linii textu w staticu
+	const int iTextCount=3;	// count of lines in static
 
 	// small buttons
 	const int iBmpMargin=1;	// margin between button and a bitmap within
@@ -1184,7 +1184,7 @@
 		pWnd->Invalidate();
 	}
 
-	// buttony - ok & cancel
+	// buttons - ok & cancel
 	rcButton=CRect(iMargin+2*iLargeButtonWidth+3, iMargin+iLargeButtonHeight, iMargin+iLargeButtonWidth+3, iMargin);
 	MapDialogRect(&rcButton);
 	rcButton.left=cx-rcButton.left;
Index: src/ch/ch.rc
===================================================================
diff -u -rd4064fca634707dcae112e5a41ed37e04455dc2a -r926b1177cffa2face218fabb3d8af71910d1b8e5
--- src/ch/ch.rc	(.../ch.rc)	(revision d4064fca634707dcae112e5a41ed37e04455dc2a)
+++ src/ch/ch.rc	(.../ch.rc)	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -221,12 +221,12 @@
 CAPTION "Copying/moving parameters"
 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,0,HIDC_FILES_LIST
+    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,HIDC_FILES_LIST
     PUSHBUTTON      "Add &file(s)...",IDC_ADDFILE_BUTTON,291,15,53,14,0,0,HIDC_ADDFILE_BUTTON
     PUSHBUTTON      "Add f&older...",IDC_ADDDIR_BUTTON,291,30,53,14,0,0,HIDC_ADDDIR_BUTTON
     PUSHBUTTON      "&Delete",IDC_REMOVEFILEFOLDER_BUTTON,291,45,53,14,0,0,HIDC_REMOVEFILEFOLDER_BUTTON
     PUSHBUTTON      "&Import...",IDC_IMPORT_BUTTON,291,60,53,14,0,0,HIDC_IMPORT_BUTTON
-    CONTROL         "",IDC_DESTPATH_COMBOBOXEX,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP,7,86,314,136,0,HIDC_DESTPATH_COMBOBOXEX
+    CONTROL         "",IDC_DESTPATH_COMBOBOXEX,"ComboBoxEx32",CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP,7,86,314,136,WS_EX_ACCEPTFILES,HIDC_DESTPATH_COMBOBOXEX
     PUSHBUTTON      "...",IDC_DESTBROWSE_BUTTON,326,85,18,14,0,0,HIDC_DESTBROWSE_BUTTON
     COMBOBOX        IDC_OPERATION_COMBO,13,124,159,143,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0,HIDC_OPERATION_COMBO
     COMBOBOX        IDC_PRIORITY_COMBO,181,124,159,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,0,HIDC_PRIORITY_COMBO
@@ -241,8 +241,8 @@
                     "Button",BS_AUTOCHECKBOX | BS_NOTIFY | WS_TABSTOP,13,255,329,10,0,HIDC_IGNOREFOLDERS_CHECK
     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,HIDC_ONLYSTRUCTURE_CHECK
-    PUSHBUTTON      "&OK",IDOK,186,297,50,14,0,0,HIDCANCEL
-    PUSHBUTTON      "&Cancel",IDCANCEL,239,297,50,14,0,0,HIDCANCEL
+    PUSHBUTTON      "&OK",IDOK,186,297,50,14,0,0,0x80950001
+    PUSHBUTTON      "&Cancel",IDCANCEL,239,297,50,14,0,0,0x80950002
     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
@@ -733,7 +733,12 @@
     0
 END
 
+IDD_CUSTOM_COPY_DIALOG AFX_DIALOG_LAYOUT
+BEGIN
+    0
+END
 
+
 /////////////////////////////////////////////////////////////////////////////
 //
 // String Table
@@ -845,6 +850,7 @@
     IDS_CFGLOGLEVEL_VALUES  "Debug!Info!Warning!Error"
     IDS_UPDATE_FREQUENCIES  "Never!Every startup!Daily!Weekly!Once every 2 weeks!Monthly!Quarterly"
     IDS_BUFFER_QUEUE_DEPTH  "Buffer queue depth"
+    IDS_FASTMOVEBEFOREBLOCK_STRING "Use fast move before blocking"
 END
 
 STRINGTABLE
@@ -872,9 +878,8 @@
     IDS_SOUNDONERROR_STRING "Sound on error"
     IDS_SOUNDONFINISH_STRING "Sound on copying finished"
     IDS_LANGUAGE_STRING     "Language"
-	IDS_READSIZEBEFOREBLOCK_STRING "Read tasks size before blocking"
-	IDS_FASTMOVEBEFOREBLOCK_STRING "Use fast move before blocking"
-	IDS_USENOBUFFERING_STRING "Disable buffering for large files"
+    IDS_READSIZEBEFOREBLOCK_STRING "Read tasks size before blocking"
+    IDS_USENOBUFFERING_STRING "Disable buffering for large files"
     IDS_LARGEFILESMINSIZE_STRING 
                             "Minimum file size for which buffering should be turned off"
     IDS_OPTIONSBUFFER_STRING "Buffer"
@@ -942,6 +947,7 @@
     IDS_EMPTYSUBTASKNAME_STRING "none"
     IDS_STATUS_LOADERROR_STRING "Load error"
     IDS_EXPORTING_TASK_FAILED "Exporting task data failed. Reason: %reason."
+    IDS_BUTTON_TRUNCATE_STRING "&Truncate"
 END
 
 STRINGTABLE
@@ -1219,7 +1225,6 @@
     IDS_ALWAYS_SHOW_STRING  "Always show"
     IDS_HIDE_AND_REGISTER   "Hide and register extension"
     IDS_HIDE_AND_DONT_REGISTER "Hide and do not register extension"
-	IDS_BUTTON_TRUNCATE_STRING "&Truncate"
 END
 
 #endif    // English (United States) resources
Index: src/ch/ch.vc140.vcxproj
===================================================================
diff -u -ra27d1acf1bda3c25b6dcce0d0eb0278009ce63ae -r926b1177cffa2face218fabb3d8af71910d1b8e5
--- src/ch/ch.vc140.vcxproj	(.../ch.vc140.vcxproj)	(revision a27d1acf1bda3c25b6dcce0d0eb0278009ce63ae)
+++ src/ch/ch.vc140.vcxproj	(.../ch.vc140.vcxproj)	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -505,6 +505,8 @@
     <ClInclude Include="..\common\TShellExtMenuConfig.h" />
     <ClInclude Include="..\common\version.h" />
     <ClInclude Include="AsyncHttpFile.h" />
+    <ClInclude Include="CDragDropComboEx.h" />
+    <ClInclude Include="CDragDropListCtrl.h" />
     <ClInclude Include="DirectoryChooser.h" />
     <ClInclude Include="FeedbackHandler.h" />
     <ClInclude Include="FeedbackHandlerFactory.h" />
@@ -752,6 +754,8 @@
     </ClCompile>
     <ClCompile Include="..\common\TShellExtMenuConfig.cpp" />
     <ClCompile Include="AsyncHttpFile.cpp" />
+    <ClCompile Include="CDragDropComboEx.cpp" />
+    <ClCompile Include="CDragDropListCtrl.cpp" />
     <ClCompile Include="DirectoryChooser.cpp" />
     <ClCompile Include="FeedbackHandler.cpp" />
     <ClCompile Include="FeedbackHandlerFactory.cpp" />
Index: src/ch/ch.vc140.vcxproj.filters
===================================================================
diff -u -r50ad2dc9f0b42ba432bb54e4a042582277410773 -r926b1177cffa2face218fabb3d8af71910d1b8e5
--- src/ch/ch.vc140.vcxproj.filters	(.../ch.vc140.vcxproj.filters)	(revision 50ad2dc9f0b42ba432bb54e4a042582277410773)
+++ src/ch/ch.vc140.vcxproj.filters	(.../ch.vc140.vcxproj.filters)	(revision 926b1177cffa2face218fabb3d8af71910d1b8e5)
@@ -233,6 +233,12 @@
     <ClInclude Include="UpdateMultipleVersionInfo.h">
       <Filter>Source Files\Tools\UpdateChecker</Filter>
     </ClInclude>
+    <ClInclude Include="CDragDropListCtrl.h">
+      <Filter>Source Files\GUI\Controls</Filter>
+    </ClInclude>
+    <ClInclude Include="CDragDropComboEx.h">
+      <Filter>Source Files\GUI\Controls</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\common\TShellExtMenuConfig.cpp">
@@ -394,6 +400,12 @@
     <ClCompile Include="UpdateMultipleVersionInfo.cpp">
       <Filter>Source Files\Tools\UpdateChecker</Filter>
     </ClCompile>
+    <ClCompile Include="CDragDropListCtrl.cpp">
+      <Filter>Source Files\GUI\Controls</Filter>
+    </ClCompile>
+    <ClCompile Include="CDragDropComboEx.cpp">
+      <Filter>Source Files\GUI\Controls</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <None Include="res\ch.rc2">