Index: src/ch/AppHelper.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/AppHelper.cpp	(.../AppHelper.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/ch/AppHelper.cpp	(.../AppHelper.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -18,7 +18,6 @@
 ***************************************************************************/
 #include "stdafx.h"
 #include "AppHelper.h"
-#include "shlobj.h"
 #include "../common/version.h"
 
 #ifdef _DEBUG
Index: src/ch/DirTreeCtrl.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/DirTreeCtrl.cpp	(.../DirTreeCtrl.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/ch/DirTreeCtrl.cpp	(.../DirTreeCtrl.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -18,7 +18,6 @@
 ***************************************************************************/
 #include "stdafx.h"
 #include "DirTreeCtrl.h"
-#include "afxtempl.h"
 #include "memdc.h"
 #include "shlobj.h"
 
Index: src/ch/FeedbackFileErrorDlg.cpp
===================================================================
diff -u -r5f6477e71c348782f8149a86c7a3ae903e5ff635 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/FeedbackFileErrorDlg.cpp	(.../FeedbackFileErrorDlg.cpp)	(revision 5f6477e71c348782f8149a86c7a3ae903e5ff635)
+++ src/ch/FeedbackFileErrorDlg.cpp	(.../FeedbackFileErrorDlg.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -3,7 +3,6 @@
 
 #include "stdafx.h"
 #include "ch.h"
-#include "../libchcore/TFileInfo.h"
 #include "FeedbackFileErrorDlg.h"
 #include "FeedbackHandler.h"
 #include "../libchcore/TWin32ErrorFormatter.h"
Index: src/ch/FeedbackReplaceDlg.cpp
===================================================================
diff -u -r5f6477e71c348782f8149a86c7a3ae903e5ff635 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/FeedbackReplaceDlg.cpp	(.../FeedbackReplaceDlg.cpp)	(revision 5f6477e71c348782f8149a86c7a3ae903e5ff635)
+++ src/ch/FeedbackReplaceDlg.cpp	(.../FeedbackReplaceDlg.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -6,7 +6,6 @@
 #include "../libchcore/TFileInfo.h"
 #include "FeedbackReplaceDlg.h"
 #include "../libictranslate/ResourceManager.h"
-#include "../libchcore/TFileInfo.h"
 #include "FeedbackHandler.h"
 #include "resource.h"
 
@@ -16,9 +15,9 @@
 
 CFeedbackReplaceDlg::CFeedbackReplaceDlg(const chcore::TFileInfo& spSrcFile, const chcore::TFileInfo& spDstFile, CWnd* pParent /*=nullptr*/)
 	: ictranslate::CLanguageDialog(IDD_FEEDBACK_REPLACE_DIALOG, pParent),
+	m_bAllItems(FALSE),
 	m_rSrcFile(spSrcFile),
-	m_rDstFile(spDstFile),
-	m_bAllItems(FALSE)
+	m_rDstFile(spDstFile)
 {
 }
 
Index: src/ch/MiniViewDlg.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/MiniViewDlg.cpp	(.../MiniViewDlg.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/ch/MiniViewDlg.cpp	(.../MiniViewDlg.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -48,12 +48,12 @@
 
 CMiniViewDlg::CMiniViewDlg(chcore::TTaskManager* pTaskManager, bool *pbHide, CWnd* pParent /*=nullptr*/)
 	:ictranslate::CLanguageDialog(IDD_MINIVIEW_DIALOG, pParent, &m_bLock),
+	m_pTasks(pTaskManager),
 	m_iLastHeight(0),
 	m_bShown(false),
-	m_pTasks(pTaskManager),
 	m_bActive(false),
-	m_iIndex(-1),
-	m_pbHide(pbHide)
+	m_pbHide(pbHide),
+	m_iIndex(-1)
 {
 	COLORREF cr3DFace = GetSysColor(COLOR_3DFACE);
 	m_brBackground.CreateSolidBrush(cr3DFace);
Index: src/ch/StatusDlg.cpp
===================================================================
diff -u -rd04caed42cbc16ffd508f173ca5f92d9512cfc69 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/StatusDlg.cpp	(.../StatusDlg.cpp)	(revision d04caed42cbc16ffd508f173ca5f92d9512cfc69)
+++ src/ch/StatusDlg.cpp	(.../StatusDlg.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -43,8 +43,8 @@
 
 CStatusDlg::CStatusDlg(chcore::TTaskManager* pTasks, CWnd* pParent /*=nullptr*/)
 	: ictranslate::CLanguageDialog(IDD_STATUS_DIALOG, pParent, &m_bLock),
-	m_spTaskMgrStats(new chcore::TTaskManagerStatsSnapshot),
-	m_pTasks(pTasks)
+	m_pTasks(pTasks),
+	m_spTaskMgrStats(new chcore::TTaskManagerStatsSnapshot)
 {
 	RegisterStaticExControl(AfxGetInstanceHandle());
 }
Index: src/ch/TMsgBox.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/TMsgBox.cpp	(.../TMsgBox.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/ch/TMsgBox.cpp	(.../TMsgBox.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -1,455 +1,455 @@
-// ============================================================================
-//  Copyright (C) 2001-2014 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 "TMsgBox.h"
-#include "ch.h"
-#include "resource.h"
-
-using namespace ictranslate;
-
-IMPLEMENT_DYNAMIC(TMsgBox, CLanguageDialog)
-
-BEGIN_MESSAGE_MAP(TMsgBox, CLanguageDialog)
-	ON_BN_CLICKED(IDC_FIRST_BUTTON, &TMsgBox::OnFirstButtonClicked)
-	ON_BN_CLICKED(IDC_SECOND_BUTTON, &TMsgBox::OnSecondButtonClicked)
-	ON_BN_CLICKED(IDC_THIRD_BUTTON, &TMsgBox::OnThirdButtonClicked)
-	ON_NOTIFY(EN_REQUESTRESIZE, IDC_MSG_RICHEDIT, OnRichEditResize)
-	ON_NOTIFY(EN_REQUESTRESIZE, IDC_MEASURE_RICHEDIT, OnRichEditResize)
-	ON_WM_GETMINMAXINFO()
-END_MESSAGE_MAP()
-
-TMsgBox::TMsgBox(UINT uiMsgResourceID, EButtonConfig eButtons, EIconConfig eIcon, CWnd* pParent /*= nullptr*/) :
-	CLanguageDialog(IDD_MSGBOX_DIALOG, pParent),
-	m_eButtons(eButtons),
-	m_eIcon(eIcon),
-	m_rcRichEdit(0,0,0,0),
-	m_rcDialogMinSize(0,0,0,0),
-	m_bCheckboxChecked(false),
-	m_iCheckBoxHeight(0)
-{
-	m_strMessageText = GetResManager().LoadString(uiMsgResourceID);
-}
-
-TMsgBox::TMsgBox(const CString& strMessage, EButtonConfig eButtons, EIconConfig eIcon, CWnd* pParent /*= nullptr*/) :
-	CLanguageDialog(IDD_MSGBOX_DIALOG, pParent),
-	m_strMessageText(strMessage),
-	m_eButtons(eButtons),
-	m_eIcon(eIcon),
-	m_rcRichEdit(0,0,0,0),
-	m_rcDialogMinSize(0,0,0,0),
-	m_bCheckboxChecked(false),
-	m_iCheckBoxHeight(0)
-{
-}
-
-TMsgBox::~TMsgBox()
-{
-}
-
-void TMsgBox::DoDataExchange(CDataExchange* pDX)
-{
-	CLanguageDialog::DoDataExchange(pDX);
-
-	DDX_Control(pDX, IDC_MSG_RICHEDIT, m_ctlRichEdit);
-	DDX_Control(pDX, IDC_FIRST_BUTTON, m_ctlButton1);
-	DDX_Control(pDX, IDC_SECOND_BUTTON, m_ctlButton2);
-	DDX_Control(pDX, IDC_THIRD_BUTTON, m_ctlButton3);
-	DDX_Control(pDX, IDC_BASIC_CHECK, m_ctlCheck);
-	DDX_Control(pDX, IDC_IMAGE_STATIC, m_ctlImage);
-	DDX_Control(pDX, IDC_MEASURE_RICHEDIT, m_ctlMeasureRichEdit);
-}
-
-BOOL TMsgBox::OnInitDialog()
-{
-	CLanguageDialog::OnInitDialog();
-
-	m_ctlMeasureRichEdit.SetEventMask(m_ctlRichEdit.GetEventMask() | ENM_REQUESTRESIZE);
-
-	InitRichEdit();
-
-	AddResizableControl(IDC_IMAGE_STATIC, 0.0, 0.0, 0.0, 0.0);
-	AddResizableControl(IDC_MSG_RICHEDIT, 0.0, 0.0, 1.0, 1.0);
-	AddResizableControl(IDC_FIRST_BUTTON, 1.0, 1.0, 0.0, 0.0);
-	AddResizableControl(IDC_SECOND_BUTTON, 1.0, 1.0, 0.0, 0.0);
-	AddResizableControl(IDC_THIRD_BUTTON, 1.0, 1.0, 0.0, 0.0);
-	AddResizableControl(IDC_BASIC_CHECK, 0.0, 1.0, 1.0, 0.0);
-
-	InitializeResizableControls();
-
-	m_ctlRichEdit.GetWindowRect(&m_rcRichEdit);
-	ScreenToClient(&m_rcRichEdit);
-
-	CalculateMinimumDlgSize();
-
-	// initialize controls' texts
-	InitializeControls();
-
-	return TRUE;
-}
-
-void TMsgBox::OnFirstButtonClicked()
-{
-	const int iUndefinedResult = IDCANCEL;
-
-	m_bCheckboxChecked = m_ctlCheck.GetCheck() == BST_CHECKED;
-
-	switch(m_eButtons)
-	{
-	case eOk:
-		EndDialog(iUndefinedResult);
-		break;
-	case eCancel:
-		EndDialog(iUndefinedResult);
-		break;
-	case eOkCancel:
-		EndDialog(iUndefinedResult);
-		break;
-	case eYesNo:
-		EndDialog(iUndefinedResult);
-		break;
-	case eYesNoCancel:
-		EndDialog(IDYES);
-		break;
-
-	default:
-		{
-			_ASSERTE(FALSE);		// unsupported option
-			EndDialog(iUndefinedResult);
-		}
-	}
-}
-
-void TMsgBox::OnSecondButtonClicked()
-{
-	const int iUndefinedResult = IDCANCEL;
-
-	m_bCheckboxChecked = m_ctlCheck.GetCheck() == BST_CHECKED;
-
-	// the middle button
-	switch(m_eButtons)
-	{
-	case eOk:
-		EndDialog(iUndefinedResult);
-		break;
-	case eCancel:
-		EndDialog(iUndefinedResult);
-		break;
-	case eOkCancel:
-		EndDialog(IDOK);
-		break;
-	case eYesNo:
-		EndDialog(IDYES);
-		break;
-	case eYesNoCancel:
-		EndDialog(IDNO);
-		break;
-
-	default:
-		{
-			_ASSERTE(FALSE);		// unsupported option
-			EndDialog(iUndefinedResult);
-		}
-	}
-}
-
-void TMsgBox::OnThirdButtonClicked()
-{
-	const int iUndefinedResult = IDCANCEL;
-
-	m_bCheckboxChecked = m_ctlCheck.GetCheck() == BST_CHECKED;
-
-	// the rightmost button
-	switch(m_eButtons)
-	{
-	case eOk:
-		EndDialog(IDOK);
-		break;
-	case eCancel:
-		EndDialog(IDCANCEL);
-		break;
-	case eOkCancel:
-		EndDialog(IDCANCEL);
-		break;
-	case eYesNo:
-		EndDialog(IDNO);
-		break;
-	case eYesNoCancel:
-		EndDialog(IDCANCEL);
-		break;
-
-	default:
-		{
-			_ASSERTE(FALSE);		// unsupported option
-			EndDialog(iUndefinedResult);
-		}
-	}
-}
-
-void TMsgBox::SetCheckBoxMessage(UINT uiMsgResourceID)
-{
-	m_strCheckboxText = GetResManager().LoadString(uiMsgResourceID);
-}
-
-void TMsgBox::SetCheckBoxMessage(const CString& strCheckboxMessage)
-{
-	m_strCheckboxText = strCheckboxMessage;
-}
-
-void TMsgBox::InitializeControls()
-{
-	m_ctlRichEdit.SetWindowText(m_strMessageText);
-	m_ctlMeasureRichEdit.SetWindowText(m_strMessageText);
-
-	HICON hIcon = nullptr;
-	switch(m_eIcon)
-	{
-	case eIcon_Warning:
-		hIcon = AfxGetApp()->LoadStandardIcon(IDI_WARNING);
-		break;
-
-	case eIcon_Error:
-		hIcon = AfxGetApp()->LoadStandardIcon(IDI_ERROR);
-		break;
-
-	case eIcon_Info:
-	default:
-		hIcon = AfxGetApp()->LoadStandardIcon(IDI_INFORMATION);
-		break;
-	}
-
-	m_ctlImage.SetIcon(hIcon);
-
-	if(m_strCheckboxText.IsEmpty())
-		m_ctlCheck.ShowWindow(SW_HIDE);
-	else
-		m_ctlCheck.SetWindowText(m_strCheckboxText);
-
-	switch(m_eButtons)
-	{
-	case eOk:
-		m_ctlButton1.ShowWindow(SW_HIDE);
-		m_ctlButton2.ShowWindow(SW_HIDE);
-		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_OK_STRING));
-		break;
-	case eOkCancel:
-		m_ctlButton1.ShowWindow(SW_HIDE);
-		m_ctlButton2.SetWindowText(GetResManager().LoadString(IDS_OK_STRING));
-		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_CANCEL_STRING));
-		break;
-	case eYesNo:
-		m_ctlButton1.ShowWindow(SW_HIDE);
-		m_ctlButton2.SetWindowText(GetResManager().LoadString(IDS_YES_STRING));
-		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_NO_STRING));
-		break;
-	case eYesNoCancel:
-		m_ctlButton1.SetWindowText(GetResManager().LoadString(IDS_YES_STRING));
-		m_ctlButton2.SetWindowText(GetResManager().LoadString(IDS_NO_STRING));
-		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_CANCEL_STRING));
-		break;
-
-	case eCancel:
-	default:
-		m_ctlButton1.ShowWindow(SW_HIDE);
-		m_ctlButton2.ShowWindow(SW_HIDE);
-		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_CANCEL_STRING));
-		break;
-	}
-}
-
-void TMsgBox::OnRichEditResize(NMHDR* pNMHDR, LRESULT* pResult)
-{
-	REQRESIZE* pResize = (REQRESIZE*)pNMHDR;
-
-	if(pResize && !m_rcRichEdit.IsRectNull())
-	{
-		if(pNMHDR->idFrom == IDC_MEASURE_RICHEDIT)
-		{
-			// get the difference in sizes between richedit and dialog
-			CSize sizeDiffDlgRichEdit(m_rcDialogMinSize.Width() - m_rcRichEdit.Width(), m_rcDialogMinSize.Height() - m_rcRichEdit.Height());
-
-			// new rich edit control width/height suggestion
-			int iSuggestedWidth = pResize->rc.right - pResize->rc.left;
-			int iSuggestedHeight = pResize->rc.bottom - pResize->rc.top;
-
-			// projected dialog size when using the recommended richedit size
-			CSize sizeProjectedDlgSize(iSuggestedWidth + sizeDiffDlgRichEdit.cx, iSuggestedHeight + sizeDiffDlgRichEdit.cy);
-
-			// get current monitor's resolution (and an aspect ratio)
-			CSize sizeMax = GetMaxSize();
-			CSize sizeAspectRatio(sizeMax.cx, (int)(sizeMax.cy / 1.5));
-
-			int iSuggestedArea = sizeProjectedDlgSize.cx * sizeProjectedDlgSize.cy;
-
-			// calculate approximate new height/width of a dialog with monitor's aspect ratio
-			// with total area similar to the suggested one
-			int iCalcWidth = (int)sqrt((double)sizeAspectRatio.cx * (double)iSuggestedArea / (double)sizeAspectRatio.cy);
-			int iCalcHeight = (int)sqrt((double)sizeAspectRatio.cy * (double)iSuggestedArea / (double)sizeAspectRatio.cx);
-
-			// calculate control size difference to apply to the dialog size
-			int iWidthDiff = iCalcWidth - sizeDiffDlgRichEdit.cx - m_rcRichEdit.Width();
-			int iHeightDiff = iCalcHeight - sizeDiffDlgRichEdit.cy - m_rcRichEdit.Height();
-
-			// and apply the diff
-			CRect rcThis(0,0,0,0);
-			GetWindowRect(&rcThis);
-
-			int iNewWidth = rcThis.Width() + iWidthDiff;
-			int iNewHeight = rcThis.Height() + iHeightDiff;
-
-			// make sure we don't exceed the max size
-			iNewHeight = std::min((int)sizeMax.cy, iNewHeight);
-			iNewWidth = std::min((int)sizeMax.cx, iNewWidth);
-
-			iNewWidth = std::max(m_rcDialogMinSize.Width(), iNewWidth);
-			iNewHeight = std::max(m_rcDialogMinSize.Height(), iNewHeight);
-
-			// move window
-			SetWindowPos(nullptr, 0, 0, iNewWidth, iNewHeight, SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE);
-
-			// update richedit size
-			m_ctlRichEdit.GetWindowRect(&m_rcRichEdit);
-			ScreenToClient(&m_rcRichEdit);
-
-			// and request another resize (now on the real richedit)
-			m_ctlRichEdit.SetEventMask(m_ctlRichEdit.GetEventMask() | ENM_REQUESTRESIZE);
-			m_ctlRichEdit.RequestResize();
-
-			m_ctlMeasureRichEdit.SetEventMask(m_ctlMeasureRichEdit.GetEventMask() & ~ENM_REQUESTRESIZE);
-		}
-		else
-		{
-			int iWidthDiff = pResize->rc.right - pResize->rc.left - m_rcRichEdit.Width();
-			int iHeightDiff = pResize->rc.bottom - pResize->rc.top - m_rcRichEdit.Height();
-
-			CRect rcThis(0,0,0,0);
-			GetWindowRect(&rcThis);
-
-			SetWindowPos(nullptr, 0, 0, rcThis.Width() + iWidthDiff, rcThis.Height() + iHeightDiff + (m_iCheckBoxHeight / 2), SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE);
-
-			m_ctlRichEdit.SetEventMask(m_ctlRichEdit.GetEventMask() & ~ENM_REQUESTRESIZE);
-		}
-	}
-
-	if(pResult)
-		*pResult = 0;
-}
-
-CSize TMsgBox::GetMaxSize()
-{
-	CSize sizeMax = CSize(800, 600);
-
-	HMONITOR hMonitor = MonitorFromWindow(GetSafeHwnd(), MONITOR_DEFAULTTONEAREST);
-	if(hMonitor)
-	{
-		MONITORINFO mi;
-		mi.cbSize = sizeof(MONITORINFO);
-
-		if(GetMonitorInfo(hMonitor, &mi))
-		{
-			sizeMax.cx = (int)((mi.rcWork.right - mi.rcWork.left) * 0.8);
-			sizeMax.cy = (int)((mi.rcWork.bottom - mi.rcWork.top) * 0.8);
-		}
-	}
-	else
-	{
-		RECT rcArea = { 0, 0, 0, 0 };
-
-		if(SystemParametersInfo(SPI_GETWORKAREA, 0, &rcArea, 0))
-		{
-			sizeMax.cx = (int)((rcArea.right - rcArea.left) * 0.8);
-			sizeMax.cy = (int)((rcArea.bottom - rcArea.top) * 0.8);
-		}
-	}
-
-	return sizeMax;
-}
-
-void TMsgBox::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
-{
-	if(!m_rcDialogMinSize.IsRectNull())
-	{
-		lpMMI->ptMinTrackSize.x = m_rcDialogMinSize.Width();
-		lpMMI->ptMinTrackSize.y = m_rcDialogMinSize.Height();
-	}
-}
-
-void TMsgBox::OnCancel()
-{
-	m_bCheckboxChecked = m_ctlCheck.GetCheck() == BST_CHECKED;
-
-	EndDialog(IDCANCEL);
-}
-
-bool TMsgBox::WasChecked() const
-{
-	return m_bCheckboxChecked;
-}
-
-INT_PTR TMsgBox::MsgBox(UINT uiMsgResourceID, EButtonConfig eButtons, EIconConfig eIcon, UINT uiCheckboxResourceID /*= 0*/, bool* pbWasChecked, CWnd* pParent /*= nullptr*/)
-{
-	TMsgBox msgBox(uiMsgResourceID, eButtons, eIcon, pParent);
-	msgBox.SetCheckBoxMessage(uiCheckboxResourceID);
-	INT_PTR iResult = msgBox.DoModal();
-	if(pbWasChecked)
-		*pbWasChecked = msgBox.WasChecked();
-	return iResult;
-}
-
-INT_PTR TMsgBox::MsgBox(const CString& strMessage, EButtonConfig eButtons, EIconConfig eIcon, const CString& strCheckboxText /*= CString()*/, bool* pbWasChecked, CWnd* pParent /*= nullptr*/)
-{
-	TMsgBox msgBox(strMessage, eButtons, eIcon, pParent);
-	msgBox.SetCheckBoxMessage(strCheckboxText);
-	INT_PTR iResult = msgBox.DoModal();
-	if(pbWasChecked)
-		*pbWasChecked = msgBox.WasChecked();
-	return iResult;
-}
-
-void TMsgBox::InitRichEdit()
-{
-	COLORREF crTextColor = GetSysColor(COLOR_BTNTEXT);
-	CHARFORMAT2 cf;
-	cf.cbSize = sizeof(CHARFORMAT2);
-
-	m_ctlRichEdit.GetDefaultCharFormat(cf);
-	cf.dwMask |= CFM_COLOR;
-	cf.dwEffects &= ~CFE_AUTOCOLOR;
-	cf.crTextColor = crTextColor;
-	m_ctlRichEdit.SetDefaultCharFormat(cf);
-
-	m_ctlRichEdit.SetBackgroundColor(FALSE, RGB(255, 0, 0));
-}
-
-void TMsgBox::CalculateMinimumDlgSize()
-{
-	// remember the initial size of the dialog as this is the minimal size
-	GetWindowRect(&m_rcDialogMinSize);
-
-	// if the checkbox is to be shown then increase minimum height so that the
-	// checkbox is placed a little more below richedit
-	if(!m_strCheckboxText.IsEmpty())
-	{
-		CRect rcCheck(0,0,0,0);
-
-		m_ctlCheck.GetWindowRect(&rcCheck);
-		m_iCheckBoxHeight = rcCheck.Height();
-
-		m_rcDialogMinSize.bottom += m_iCheckBoxHeight;
-	}
-}
+// ============================================================================
+//  Copyright (C) 2001-2014 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 "TMsgBox.h"
+#include "ch.h"
+#include "resource.h"
+
+using namespace ictranslate;
+
+IMPLEMENT_DYNAMIC(TMsgBox, CLanguageDialog)
+
+BEGIN_MESSAGE_MAP(TMsgBox, CLanguageDialog)
+	ON_BN_CLICKED(IDC_FIRST_BUTTON, &TMsgBox::OnFirstButtonClicked)
+	ON_BN_CLICKED(IDC_SECOND_BUTTON, &TMsgBox::OnSecondButtonClicked)
+	ON_BN_CLICKED(IDC_THIRD_BUTTON, &TMsgBox::OnThirdButtonClicked)
+	ON_NOTIFY(EN_REQUESTRESIZE, IDC_MSG_RICHEDIT, OnRichEditResize)
+	ON_NOTIFY(EN_REQUESTRESIZE, IDC_MEASURE_RICHEDIT, OnRichEditResize)
+	ON_WM_GETMINMAXINFO()
+END_MESSAGE_MAP()
+
+TMsgBox::TMsgBox(UINT uiMsgResourceID, EButtonConfig eButtons, EIconConfig eIcon, CWnd* pParent /*= nullptr*/) :
+	CLanguageDialog(IDD_MSGBOX_DIALOG, pParent),
+	m_eIcon(eIcon),
+	m_eButtons(eButtons),
+	m_rcRichEdit(0,0,0,0),
+	m_rcDialogMinSize(0,0,0,0),
+	m_iCheckBoxHeight(0),
+	m_bCheckboxChecked(false)
+{
+	m_strMessageText = GetResManager().LoadString(uiMsgResourceID);
+}
+
+TMsgBox::TMsgBox(const CString& strMessage, EButtonConfig eButtons, EIconConfig eIcon, CWnd* pParent /*= nullptr*/) :
+	CLanguageDialog(IDD_MSGBOX_DIALOG, pParent),
+	m_strMessageText(strMessage),
+	m_eIcon(eIcon),
+	m_eButtons(eButtons),
+	m_rcRichEdit(0,0,0,0),
+	m_rcDialogMinSize(0,0,0,0),
+	m_iCheckBoxHeight(0),
+	m_bCheckboxChecked(false)
+{
+}
+
+TMsgBox::~TMsgBox()
+{
+}
+
+void TMsgBox::DoDataExchange(CDataExchange* pDX)
+{
+	CLanguageDialog::DoDataExchange(pDX);
+
+	DDX_Control(pDX, IDC_MSG_RICHEDIT, m_ctlRichEdit);
+	DDX_Control(pDX, IDC_FIRST_BUTTON, m_ctlButton1);
+	DDX_Control(pDX, IDC_SECOND_BUTTON, m_ctlButton2);
+	DDX_Control(pDX, IDC_THIRD_BUTTON, m_ctlButton3);
+	DDX_Control(pDX, IDC_BASIC_CHECK, m_ctlCheck);
+	DDX_Control(pDX, IDC_IMAGE_STATIC, m_ctlImage);
+	DDX_Control(pDX, IDC_MEASURE_RICHEDIT, m_ctlMeasureRichEdit);
+}
+
+BOOL TMsgBox::OnInitDialog()
+{
+	CLanguageDialog::OnInitDialog();
+
+	m_ctlMeasureRichEdit.SetEventMask(m_ctlRichEdit.GetEventMask() | ENM_REQUESTRESIZE);
+
+	InitRichEdit();
+
+	AddResizableControl(IDC_IMAGE_STATIC, 0.0, 0.0, 0.0, 0.0);
+	AddResizableControl(IDC_MSG_RICHEDIT, 0.0, 0.0, 1.0, 1.0);
+	AddResizableControl(IDC_FIRST_BUTTON, 1.0, 1.0, 0.0, 0.0);
+	AddResizableControl(IDC_SECOND_BUTTON, 1.0, 1.0, 0.0, 0.0);
+	AddResizableControl(IDC_THIRD_BUTTON, 1.0, 1.0, 0.0, 0.0);
+	AddResizableControl(IDC_BASIC_CHECK, 0.0, 1.0, 1.0, 0.0);
+
+	InitializeResizableControls();
+
+	m_ctlRichEdit.GetWindowRect(&m_rcRichEdit);
+	ScreenToClient(&m_rcRichEdit);
+
+	CalculateMinimumDlgSize();
+
+	// initialize controls' texts
+	InitializeControls();
+
+	return TRUE;
+}
+
+void TMsgBox::OnFirstButtonClicked()
+{
+	const int iUndefinedResult = IDCANCEL;
+
+	m_bCheckboxChecked = m_ctlCheck.GetCheck() == BST_CHECKED;
+
+	switch(m_eButtons)
+	{
+	case eOk:
+		EndDialog(iUndefinedResult);
+		break;
+	case eCancel:
+		EndDialog(iUndefinedResult);
+		break;
+	case eOkCancel:
+		EndDialog(iUndefinedResult);
+		break;
+	case eYesNo:
+		EndDialog(iUndefinedResult);
+		break;
+	case eYesNoCancel:
+		EndDialog(IDYES);
+		break;
+
+	default:
+		{
+			_ASSERTE(FALSE);		// unsupported option
+			EndDialog(iUndefinedResult);
+		}
+	}
+}
+
+void TMsgBox::OnSecondButtonClicked()
+{
+	const int iUndefinedResult = IDCANCEL;
+
+	m_bCheckboxChecked = m_ctlCheck.GetCheck() == BST_CHECKED;
+
+	// the middle button
+	switch(m_eButtons)
+	{
+	case eOk:
+		EndDialog(iUndefinedResult);
+		break;
+	case eCancel:
+		EndDialog(iUndefinedResult);
+		break;
+	case eOkCancel:
+		EndDialog(IDOK);
+		break;
+	case eYesNo:
+		EndDialog(IDYES);
+		break;
+	case eYesNoCancel:
+		EndDialog(IDNO);
+		break;
+
+	default:
+		{
+			_ASSERTE(FALSE);		// unsupported option
+			EndDialog(iUndefinedResult);
+		}
+	}
+}
+
+void TMsgBox::OnThirdButtonClicked()
+{
+	const int iUndefinedResult = IDCANCEL;
+
+	m_bCheckboxChecked = m_ctlCheck.GetCheck() == BST_CHECKED;
+
+	// the rightmost button
+	switch(m_eButtons)
+	{
+	case eOk:
+		EndDialog(IDOK);
+		break;
+	case eCancel:
+		EndDialog(IDCANCEL);
+		break;
+	case eOkCancel:
+		EndDialog(IDCANCEL);
+		break;
+	case eYesNo:
+		EndDialog(IDNO);
+		break;
+	case eYesNoCancel:
+		EndDialog(IDCANCEL);
+		break;
+
+	default:
+		{
+			_ASSERTE(FALSE);		// unsupported option
+			EndDialog(iUndefinedResult);
+		}
+	}
+}
+
+void TMsgBox::SetCheckBoxMessage(UINT uiMsgResourceID)
+{
+	m_strCheckboxText = GetResManager().LoadString(uiMsgResourceID);
+}
+
+void TMsgBox::SetCheckBoxMessage(const CString& strCheckboxMessage)
+{
+	m_strCheckboxText = strCheckboxMessage;
+}
+
+void TMsgBox::InitializeControls()
+{
+	m_ctlRichEdit.SetWindowText(m_strMessageText);
+	m_ctlMeasureRichEdit.SetWindowText(m_strMessageText);
+
+	HICON hIcon = nullptr;
+	switch(m_eIcon)
+	{
+	case eIcon_Warning:
+		hIcon = AfxGetApp()->LoadStandardIcon(IDI_WARNING);
+		break;
+
+	case eIcon_Error:
+		hIcon = AfxGetApp()->LoadStandardIcon(IDI_ERROR);
+		break;
+
+	case eIcon_Info:
+	default:
+		hIcon = AfxGetApp()->LoadStandardIcon(IDI_INFORMATION);
+		break;
+	}
+
+	m_ctlImage.SetIcon(hIcon);
+
+	if(m_strCheckboxText.IsEmpty())
+		m_ctlCheck.ShowWindow(SW_HIDE);
+	else
+		m_ctlCheck.SetWindowText(m_strCheckboxText);
+
+	switch(m_eButtons)
+	{
+	case eOk:
+		m_ctlButton1.ShowWindow(SW_HIDE);
+		m_ctlButton2.ShowWindow(SW_HIDE);
+		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_OK_STRING));
+		break;
+	case eOkCancel:
+		m_ctlButton1.ShowWindow(SW_HIDE);
+		m_ctlButton2.SetWindowText(GetResManager().LoadString(IDS_OK_STRING));
+		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_CANCEL_STRING));
+		break;
+	case eYesNo:
+		m_ctlButton1.ShowWindow(SW_HIDE);
+		m_ctlButton2.SetWindowText(GetResManager().LoadString(IDS_YES_STRING));
+		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_NO_STRING));
+		break;
+	case eYesNoCancel:
+		m_ctlButton1.SetWindowText(GetResManager().LoadString(IDS_YES_STRING));
+		m_ctlButton2.SetWindowText(GetResManager().LoadString(IDS_NO_STRING));
+		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_CANCEL_STRING));
+		break;
+
+	case eCancel:
+	default:
+		m_ctlButton1.ShowWindow(SW_HIDE);
+		m_ctlButton2.ShowWindow(SW_HIDE);
+		m_ctlButton3.SetWindowText(GetResManager().LoadString(IDS_CANCEL_STRING));
+		break;
+	}
+}
+
+void TMsgBox::OnRichEditResize(NMHDR* pNMHDR, LRESULT* pResult)
+{
+	REQRESIZE* pResize = (REQRESIZE*)pNMHDR;
+
+	if(pResize && !m_rcRichEdit.IsRectNull())
+	{
+		if(pNMHDR->idFrom == IDC_MEASURE_RICHEDIT)
+		{
+			// get the difference in sizes between richedit and dialog
+			CSize sizeDiffDlgRichEdit(m_rcDialogMinSize.Width() - m_rcRichEdit.Width(), m_rcDialogMinSize.Height() - m_rcRichEdit.Height());
+
+			// new rich edit control width/height suggestion
+			int iSuggestedWidth = pResize->rc.right - pResize->rc.left;
+			int iSuggestedHeight = pResize->rc.bottom - pResize->rc.top;
+
+			// projected dialog size when using the recommended richedit size
+			CSize sizeProjectedDlgSize(iSuggestedWidth + sizeDiffDlgRichEdit.cx, iSuggestedHeight + sizeDiffDlgRichEdit.cy);
+
+			// get current monitor's resolution (and an aspect ratio)
+			CSize sizeMax = GetMaxSize();
+			CSize sizeAspectRatio(sizeMax.cx, (int)(sizeMax.cy / 1.5));
+
+			int iSuggestedArea = sizeProjectedDlgSize.cx * sizeProjectedDlgSize.cy;
+
+			// calculate approximate new height/width of a dialog with monitor's aspect ratio
+			// with total area similar to the suggested one
+			int iCalcWidth = (int)sqrt((double)sizeAspectRatio.cx * (double)iSuggestedArea / (double)sizeAspectRatio.cy);
+			int iCalcHeight = (int)sqrt((double)sizeAspectRatio.cy * (double)iSuggestedArea / (double)sizeAspectRatio.cx);
+
+			// calculate control size difference to apply to the dialog size
+			int iWidthDiff = iCalcWidth - sizeDiffDlgRichEdit.cx - m_rcRichEdit.Width();
+			int iHeightDiff = iCalcHeight - sizeDiffDlgRichEdit.cy - m_rcRichEdit.Height();
+
+			// and apply the diff
+			CRect rcThis(0,0,0,0);
+			GetWindowRect(&rcThis);
+
+			int iNewWidth = rcThis.Width() + iWidthDiff;
+			int iNewHeight = rcThis.Height() + iHeightDiff;
+
+			// make sure we don't exceed the max size
+			iNewHeight = std::min((int)sizeMax.cy, iNewHeight);
+			iNewWidth = std::min((int)sizeMax.cx, iNewWidth);
+
+			iNewWidth = std::max(m_rcDialogMinSize.Width(), iNewWidth);
+			iNewHeight = std::max(m_rcDialogMinSize.Height(), iNewHeight);
+
+			// move window
+			SetWindowPos(nullptr, 0, 0, iNewWidth, iNewHeight, SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE);
+
+			// update richedit size
+			m_ctlRichEdit.GetWindowRect(&m_rcRichEdit);
+			ScreenToClient(&m_rcRichEdit);
+
+			// and request another resize (now on the real richedit)
+			m_ctlRichEdit.SetEventMask(m_ctlRichEdit.GetEventMask() | ENM_REQUESTRESIZE);
+			m_ctlRichEdit.RequestResize();
+
+			m_ctlMeasureRichEdit.SetEventMask(m_ctlMeasureRichEdit.GetEventMask() & ~ENM_REQUESTRESIZE);
+		}
+		else
+		{
+			int iWidthDiff = pResize->rc.right - pResize->rc.left - m_rcRichEdit.Width();
+			int iHeightDiff = pResize->rc.bottom - pResize->rc.top - m_rcRichEdit.Height();
+
+			CRect rcThis(0,0,0,0);
+			GetWindowRect(&rcThis);
+
+			SetWindowPos(nullptr, 0, 0, rcThis.Width() + iWidthDiff, rcThis.Height() + iHeightDiff + (m_iCheckBoxHeight / 2), SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE);
+
+			m_ctlRichEdit.SetEventMask(m_ctlRichEdit.GetEventMask() & ~ENM_REQUESTRESIZE);
+		}
+	}
+
+	if(pResult)
+		*pResult = 0;
+}
+
+CSize TMsgBox::GetMaxSize()
+{
+	CSize sizeMax = CSize(800, 600);
+
+	HMONITOR hMonitor = MonitorFromWindow(GetSafeHwnd(), MONITOR_DEFAULTTONEAREST);
+	if(hMonitor)
+	{
+		MONITORINFO mi;
+		mi.cbSize = sizeof(MONITORINFO);
+
+		if(GetMonitorInfo(hMonitor, &mi))
+		{
+			sizeMax.cx = (int)((mi.rcWork.right - mi.rcWork.left) * 0.8);
+			sizeMax.cy = (int)((mi.rcWork.bottom - mi.rcWork.top) * 0.8);
+		}
+	}
+	else
+	{
+		RECT rcArea = { 0, 0, 0, 0 };
+
+		if(SystemParametersInfo(SPI_GETWORKAREA, 0, &rcArea, 0))
+		{
+			sizeMax.cx = (int)((rcArea.right - rcArea.left) * 0.8);
+			sizeMax.cy = (int)((rcArea.bottom - rcArea.top) * 0.8);
+		}
+	}
+
+	return sizeMax;
+}
+
+void TMsgBox::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
+{
+	if(!m_rcDialogMinSize.IsRectNull())
+	{
+		lpMMI->ptMinTrackSize.x = m_rcDialogMinSize.Width();
+		lpMMI->ptMinTrackSize.y = m_rcDialogMinSize.Height();
+	}
+}
+
+void TMsgBox::OnCancel()
+{
+	m_bCheckboxChecked = m_ctlCheck.GetCheck() == BST_CHECKED;
+
+	EndDialog(IDCANCEL);
+}
+
+bool TMsgBox::WasChecked() const
+{
+	return m_bCheckboxChecked;
+}
+
+INT_PTR TMsgBox::MsgBox(UINT uiMsgResourceID, EButtonConfig eButtons, EIconConfig eIcon, UINT uiCheckboxResourceID /*= 0*/, bool* pbWasChecked, CWnd* pParent /*= nullptr*/)
+{
+	TMsgBox msgBox(uiMsgResourceID, eButtons, eIcon, pParent);
+	msgBox.SetCheckBoxMessage(uiCheckboxResourceID);
+	INT_PTR iResult = msgBox.DoModal();
+	if(pbWasChecked)
+		*pbWasChecked = msgBox.WasChecked();
+	return iResult;
+}
+
+INT_PTR TMsgBox::MsgBox(const CString& strMessage, EButtonConfig eButtons, EIconConfig eIcon, const CString& strCheckboxText /*= CString()*/, bool* pbWasChecked, CWnd* pParent /*= nullptr*/)
+{
+	TMsgBox msgBox(strMessage, eButtons, eIcon, pParent);
+	msgBox.SetCheckBoxMessage(strCheckboxText);
+	INT_PTR iResult = msgBox.DoModal();
+	if(pbWasChecked)
+		*pbWasChecked = msgBox.WasChecked();
+	return iResult;
+}
+
+void TMsgBox::InitRichEdit()
+{
+	COLORREF crTextColor = GetSysColor(COLOR_BTNTEXT);
+	CHARFORMAT2 cf;
+	cf.cbSize = sizeof(CHARFORMAT2);
+
+	m_ctlRichEdit.GetDefaultCharFormat(cf);
+	cf.dwMask |= CFM_COLOR;
+	cf.dwEffects &= ~CFE_AUTOCOLOR;
+	cf.crTextColor = crTextColor;
+	m_ctlRichEdit.SetDefaultCharFormat(cf);
+
+	m_ctlRichEdit.SetBackgroundColor(FALSE, RGB(255, 0, 0));
+}
+
+void TMsgBox::CalculateMinimumDlgSize()
+{
+	// remember the initial size of the dialog as this is the minimal size
+	GetWindowRect(&m_rcDialogMinSize);
+
+	// if the checkbox is to be shown then increase minimum height so that the
+	// checkbox is placed a little more below richedit
+	if(!m_strCheckboxText.IsEmpty())
+	{
+		CRect rcCheck(0,0,0,0);
+
+		m_ctlCheck.GetWindowRect(&rcCheck);
+		m_iCheckBoxHeight = rcCheck.Height();
+
+		m_rcDialogMinSize.bottom += m_iCheckBoxHeight;
+	}
+}
Index: src/ch/TShellExtensionClient.cpp
===================================================================
diff -u -rb556d023b748dfea230575959b6513acf29fd7b3 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/TShellExtensionClient.cpp	(.../TShellExtensionClient.cpp)	(revision b556d023b748dfea230575959b6513acf29fd7b3)
+++ src/ch/TShellExtensionClient.cpp	(.../TShellExtensionClient.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -26,8 +26,8 @@
 #endif
 
 TShellExtensionClient::TShellExtensionClient() :
-	m_piShellExtControl(nullptr),
-	m_bInitialized(false)
+	m_bInitialized(false),
+	m_piShellExtControl(nullptr)
 {
 }
 
Index: src/ch/UpdateChecker.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/UpdateChecker.cpp	(.../UpdateChecker.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/ch/UpdateChecker.cpp	(.../UpdateChecker.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -25,7 +25,6 @@
 #include "UpdateResponse.h"
 #include <afxinet.h>
 #include "../libchcore/TWin32ErrorFormatter.h"
-#include "../common/version.h"
 #include <boost/date_time/gregorian/gregorian_io.hpp>
 
 // ============================================================================
@@ -35,10 +34,10 @@
 /// @brief     Constructs the update checker object.
 // ============================================================================
 CUpdateChecker::CUpdateChecker() :
-	m_hThread(nullptr),
-	m_hKillEvent(nullptr),
+	m_eUpdateChannel(UpdateVersionInfo::eStable),
 	m_eResult(eResult_Undefined),
-	m_eUpdateChannel(UpdateVersionInfo::eStable)
+	m_hThread(nullptr),
+	m_hKillEvent(nullptr)
 {
 	m_hKillEvent = ::CreateEvent(nullptr, FALSE, FALSE, nullptr);
 	BOOST_ASSERT(m_hKillEvent);
Index: src/ch/UpdateHeaders.cpp
===================================================================
diff -u -rd0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/UpdateHeaders.cpp	(.../UpdateHeaders.cpp)	(revision d0cfddc68b5ec4dc4e9b73b6f87aa97995c7cc54)
+++ src/ch/UpdateHeaders.cpp	(.../UpdateHeaders.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -20,7 +20,6 @@
 #include "UpdateHeaders.h"
 #include "WindowsVersion.h"
 #include <boost\lexical_cast.hpp>
-#include <string>
 #include "..\common\version.h"
 #include <boost/algorithm/string.hpp>
 
Index: src/ch/UpdateResponse.cpp
===================================================================
diff -u -rcb4e9d4b60d62b25ae2cf556c0642601af56c787 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/UpdateResponse.cpp	(.../UpdateResponse.cpp)	(revision cb4e9d4b60d62b25ae2cf556c0642601af56c787)
+++ src/ch/UpdateResponse.cpp	(.../UpdateResponse.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -24,7 +24,6 @@
 #include <boost/property_tree/ptree.hpp>
 #include <boost/algorithm/string.hpp>
 #include <boost/date_time/gregorian/gregorian.hpp>
-#include <iostream>
 #include <sstream>
 
 UpdateResponse::UpdateResponse(std::stringstream& tDataStream)
Index: src/ch/UpdateVersionInfo.cpp
===================================================================
diff -u -r71c49ab6ac2e657dee997cb9129c7d0d4dde21b6 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/UpdateVersionInfo.cpp	(.../UpdateVersionInfo.cpp)	(revision 71c49ab6ac2e657dee997cb9129c7d0d4dde21b6)
+++ src/ch/UpdateVersionInfo.cpp	(.../UpdateVersionInfo.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -21,15 +21,15 @@
 #include <boost\algorithm\string\split.hpp>
 #include <boost/algorithm/string/classification.hpp>
 #include <boost\lexical_cast.hpp>
-#include <boost/date_time/gregorian/greg_date.hpp>
+#include <boost/date_time/gregorian/gregorian_types.hpp>
 
 UpdateVersionInfo::UpdateVersionInfo(const std::wstring& strNumericVersion, const std::wstring& strReadableVersion, boost::gregorian::date dateRelease, const std::wstring& strDownloadLink, const std::wstring& strReleaseNotes) :
 	m_strNumericVersion(strNumericVersion),
+	m_ullNumericVersion(ParseNumericVersion(strNumericVersion)),
 	m_strReadableVersion(strReadableVersion),
 	m_dateRelease(dateRelease),
 	m_strDownloadLink(strDownloadLink),
-	m_strReleaseNotes(strReleaseNotes),
-	m_ullNumericVersion(ParseNumericVersion(strNumericVersion))
+	m_strReleaseNotes(strReleaseNotes)
 {
 }
 
Index: src/ch/UpdateVersionInfo.h
===================================================================
diff -u -r71c49ab6ac2e657dee997cb9129c7d0d4dde21b6 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/UpdateVersionInfo.h	(.../UpdateVersionInfo.h)	(revision 71c49ab6ac2e657dee997cb9129c7d0d4dde21b6)
+++ src/ch/UpdateVersionInfo.h	(.../UpdateVersionInfo.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __UPDATEVERSIONINFO_H__
 #define __UPDATEVERSIONINFO_H__
 
-#include <boost/date_time/date.hpp>
 #include <boost/property_tree/ptree.hpp>
 
 class UpdateVersionInfo
Index: src/ch/WindowsVersion.h
===================================================================
diff -u -r045540c818c374806d09742ef3d7a984d8d757d3 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/WindowsVersion.h	(.../WindowsVersion.h)	(revision 045540c818c374806d09742ef3d7a984d8d757d3)
+++ src/ch/WindowsVersion.h	(.../WindowsVersion.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,8 +19,6 @@
 #ifndef __WINDOWSVERSION_H__
 #define __WINDOWSVERSION_H__
 
-#include <string>
-
 class WindowsVersion
 {
 public:
Index: src/ch/ch.cpp
===================================================================
diff -u -r95764b8eb7e72b89dcb51abc267a6324762c9108 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/ch/ch.cpp	(.../ch.cpp)	(revision 95764b8eb7e72b89dcb51abc267a6324762c9108)
+++ src/ch/ch.cpp	(.../ch.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -32,15 +32,8 @@
 #include "../common/version.h"
 #include "TCommandLineParser.h"
 #include "../libchcore/TStringSet.h"
-#include "../libchcore/TSimpleTimer.h"
 #include "../libchcore/SerializerTrace.h"
-#include "../libchcore/TSQLiteTaskSchema.h"
-#include "../libchcore/TSQLiteSerializer.h"
-#include "../libchcore/ISerializerContainer.h"
-#include "../libchcore/ISerializerRowData.h"
-#include "../libchcore/TFileInfo.h"
 #include "TMsgBox.h"
-#include "../libchcore/TWin32ErrorFormatter.h"
 #include "resource.h"
 #include "../liblogger/TLogger.h"
 #include "../liblogger/TAsyncMultiLogger.h"
@@ -99,9 +92,9 @@
 }
 
 CCopyHandlerApp::CCopyHandlerApp() :
-	m_pMainWindow(nullptr),
 	m_spAppLoggerConfig(std::make_shared<logger::TMultiLoggerConfig>()),
-	m_spEngineLoggerConfig(std::make_shared<logger::TMultiLoggerConfig>())
+	m_spEngineLoggerConfig(std::make_shared<logger::TMultiLoggerConfig>()),
+	m_pMainWindow(nullptr)
 {
 #ifdef _DEBUG
 	AfxEnableMemoryLeakDump(FALSE);
@@ -217,66 +210,6 @@
 
 BOOL CCopyHandlerApp::InitInstance()
 {
-#ifdef DO_TEST
-	using namespace chcore;
-
-	DeleteFile(_T("C:\\Users\\ixen\\AppData\\Local\\Copy Handler\\Tasks\\test.sqlite"));
-	TSQLiteTaskSchemaPtr spTaskSchema(new TSQLiteTaskSchema);
-
-	TSQLiteSerializer serializer(PathFromString(_T("C:\\Users\\ixen\\AppData\\Local\\Copy Handler\\Tasks\\test.sqlite")), spTaskSchema);
-	//TSQLiteSerializer serializer(PathFromString(_T(":memory:")), spTaskSchema);
-
-	TSimpleTimer timer(true);
-
-	{
-		ISerializerContainerPtr spContainer = serializer.GetContainer(_T("scanned_files"));
-
-		IColumnsDefinition& rColumns = spContainer->GetColumnsDefinition();
-		TFileInfo::InitColumns(rColumns);
-
-		const size_t rel_path = rColumns.GetColumnIndex(_T("rel_path"));
-		const size_t base_path_id = rColumns.GetColumnIndex(_T("base_path_id"));
-		const size_t attr = rColumns.GetColumnIndex(_T("attr"));
-		const size_t size = rColumns.GetColumnIndex(_T("size"));
-		const size_t time_created = rColumns.GetColumnIndex(_T("time_created"));
-		const size_t time_last_write = rColumns.GetColumnIndex(_T("time_last_write"));
-		const size_t time_last_access = rColumns.GetColumnIndex(_T("time_last_access"));
-		const size_t flags = rColumns.GetColumnIndex(_T("flags"));
-
-		TString strPath(_T("C:\\Users\\ixen\\AppData\\Local\\Copy Handler\\Tasks\\sometask.xxx"));
-		TSmartPath path(PathFromString(_T("C:\\Users\\ixen\\AppData\\Local\\Copy Handler\\Tasks\\sometask.xxx")));
-
-		for(object_id_t oidIndex = 0; oidIndex < 200000; ++oidIndex)
-		{
-			ISerializerRowData& rRow = spContainer->GetRow(oidIndex, true);
-			rRow.SetValue(rel_path, path);	//C:\\Users\\ixen\\AppData\\Local\\Copy Handler\\Tasks\\sometask.xxx
-			rRow.SetValue(base_path_id, 24735275ull);
-			rRow.SetValue(attr, 0x56533234ul);
-			rRow.SetValue(size, 0x565332340897ff12ull);
-			rRow.SetValue(time_created, 0x565332340897ff12ull);
-			rRow.SetValue(time_last_write, 0x565122340897ff12ull);
-			rRow.SetValue(time_last_access, 0x565517840897ff12ull);
-			rRow.SetValue(flags, 0x56551114u);
-		}
-
-		unsigned long long ullFillTime = timer.Checkpoint(); ullFillTime;
-		GTRACE1(_T("***** [FillTime]: %I64u ms\n"), ullFillTime);
-
-		serializer.Flush();
-		unsigned long long ullFlushTime = timer.Checkpoint(); ullFlushTime;
-		GTRACE1(_T("***** [FlushTime]: %I64u ms\n"), ullFlushTime);
-
-		spContainer.reset();
-		unsigned long long ullDeleteContainerTime = timer.Checkpoint(); ullDeleteContainerTime;
-		GTRACE1(_T("***** [DeleteContainer]: %I64u ms\n"), ullDeleteContainerTime);
-	}
-
-	unsigned long long ullDestructTime = timer.Checkpoint(); ullDestructTime;
-	GTRACE1(_T("***** [DestructTime]: %I64u ms\n"), ullDestructTime);
-
-	return FALSE;
-#else
-
 	// ================================= Crash handling =======================================
 	SetUnhandledExceptionFilter(&MyUnhandledExceptionFilter);
 
@@ -510,7 +443,6 @@
 	LOG_INFO(m_spLog) << _T("Copy Handler initialized successfully");
 
 	return TRUE;
-#endif
 }
 
 bool CCopyHandlerApp::ParseCommandLine()
Index: src/chext/GuidFormatter.h
===================================================================
diff -u -rb79aca0d66b1084f230022efe39cc89307482e6d -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/chext/GuidFormatter.h	(.../GuidFormatter.h)	(revision b79aca0d66b1084f230022efe39cc89307482e6d)
+++ src/chext/GuidFormatter.h	(.../GuidFormatter.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -1,31 +1,28 @@
-// ============================================================================
-//  Copyright (C) 2001-2015 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 __GUIDFORMATTER_H__
-#define __GUIDFORMATTER_H__
-
-#include <string>
-#include <Guiddef.h>
-
-class GuidFormatter
-{
-public:
-	static std::wstring FormatGuid(const GUID& rGuid);
-};
-
-#endif
+// ============================================================================
+//  Copyright (C) 2001-2015 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 __GUIDFORMATTER_H__
+#define __GUIDFORMATTER_H__
+
+class GuidFormatter
+{
+public:
+	static std::wstring FormatGuid(const GUID& rGuid);
+};
+
+#endif
Index: src/chext/ShellExtControl.cpp
===================================================================
diff -u -r134983cab6122e3fff73994a6f9c417aaeab3bc2 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/chext/ShellExtControl.cpp	(.../ShellExtControl.cpp)	(revision 134983cab6122e3fff73994a6f9c417aaeab3bc2)
+++ src/chext/ShellExtControl.cpp	(.../ShellExtControl.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -25,9 +25,9 @@
 #include "../libchcore/TIpcMutexLock.h"
 
 CShellExtControl::CShellExtControl() :
-	m_pShellExtData(nullptr),
 	m_hMemory(nullptr),
 	m_mutex(L"CHShellExtControlDataMutex"),
+	m_pShellExtData(nullptr),
 	m_spLog(GetLogger(L"ShellExtControl"))
 {
 	LOG_DEBUG(m_spLog) << L"Constructing CShellExtControl";
Index: src/chext/ShellExtensionVerifier.h
===================================================================
diff -u -r3c248d4f6d0fdb1e487cc868b2f0b219eec37ef4 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/chext/ShellExtensionVerifier.h	(.../ShellExtensionVerifier.h)	(revision 3c248d4f6d0fdb1e487cc868b2f0b219eec37ef4)
+++ src/chext/ShellExtensionVerifier.h	(.../ShellExtensionVerifier.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -1,35 +1,34 @@
-// ============================================================================
-//  Copyright (C) 2001-2015 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 __SHELLEXTENSIONVERIFIER_H__
-#define __SHELLEXTENSIONVERIFIER_H__
-
-#include "chext.h"
-#include "../common/ipcstructs.h"
-
-class TShellExtMenuConfig;
-
-class ShellExtensionVerifier
-{
-public:
-	static HWND VerifyShellExt(IShellExtControl* piShellExtControl);
-	static HRESULT IsShellExtEnabled(IShellExtControl* piShellExtControl);
-	static HRESULT ReadShellConfig(IShellExtControl* piShellExtControl, TShellExtMenuConfig& tShellExtConfig);
-};
-
-#endif
+// ============================================================================
+//  Copyright (C) 2001-2015 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 __SHELLEXTENSIONVERIFIER_H__
+#define __SHELLEXTENSIONVERIFIER_H__
+
+#include "chext.h"
+
+class TShellExtMenuConfig;
+
+class ShellExtensionVerifier
+{
+public:
+	static HWND VerifyShellExt(IShellExtControl* piShellExtControl);
+	static HRESULT IsShellExtEnabled(IShellExtControl* piShellExtControl);
+	static HRESULT ReadShellConfig(IShellExtControl* piShellExtControl, TShellExtMenuConfig& tShellExtConfig);
+};
+
+#endif
Index: src/chext/TContextMenuHandler.cpp
===================================================================
diff -u -ra6b040ed1b328ac7ad30882b07b7ca41e812bbb9 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/chext/TContextMenuHandler.cpp	(.../TContextMenuHandler.cpp)	(revision a6b040ed1b328ac7ad30882b07b7ca41e812bbb9)
+++ src/chext/TContextMenuHandler.cpp	(.../TContextMenuHandler.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -1,163 +1,163 @@
-// ============================================================================
-//  Copyright (C) 2001-2011 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.
-// ============================================================================
-/// @file  TContextMenuHandler.cpp
-/// @date  2011/05/28
-/// @brief Contains implementation of class that handles menus.
-// ============================================================================
-#include "stdafx.h"
-#include "TContextMenuHandler.h"
-#include "../common/TShellExtMenuConfig.h"
-#include "Logger.h"
-
-TContextMenuHandler::TContextMenuHandler() :
-	m_uiNextMenuID(0),
-	m_uiFirstMenuID(0),
-	m_bEnableOwnerDrawnPaths(false),
-	m_fsLocal(GetLogFileData())
-{
-}
-
-TContextMenuHandler::~TContextMenuHandler()
-{
-	Clear();
-}
-
-void TContextMenuHandler::Init(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemID, UINT uiFirstItemPosition, const TShellExtData& rShellExtData,
-	const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bEnableOwnerDrawnPaths, bool bOverrideDefaultItem)
-{
-	Clear();
-
-	m_uiFirstMenuID = uiFirstItemID;
-	m_uiNextMenuID = uiFirstItemID;
-	m_bEnableOwnerDrawnPaths = bEnableOwnerDrawnPaths;
-
-	UpdateMenuRecursive(spRootMenuItem, hMenu, uiFirstItemPosition, rShellExtData, spFormatter, bShowFreeSpace, bOverrideDefaultItem);
-}
-
-void TContextMenuHandler::UpdateMenuRecursive(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemPosition,
-	const TShellExtData& rShellExtData, const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bOverrideDefaultItem)
-{
-	for(size_t stIndex = 0; stIndex < spRootMenuItem->GetChildrenCount(); ++stIndex)
-	{
-		TShellMenuItemPtr spMenuItem = spRootMenuItem->GetChildAt(stIndex);
-		switch(spMenuItem->GetItemType())
-		{
-		case TShellMenuItem::eGroupItem:
-			{
-				// special handling
-				HMENU hSubMenu = CreatePopupMenu();
-				UpdateMenuRecursive(spMenuItem, hSubMenu, 0, rShellExtData, spFormatter, bShowFreeSpace, bOverrideDefaultItem);
-
-				MENUITEMINFO mii;
-				mii.cbSize = sizeof(MENUITEMINFO);
-				mii.fMask = MIIM_ID | MIIM_STATE | MIIM_SUBMENU | MIIM_STRING;
-				mii.fType = MFT_STRING;
-				mii.fState = (spRootMenuItem->GetChildrenCount() > 0) ? MFS_ENABLED : MFS_GRAYED;
-				mii.wID = m_uiNextMenuID++;
-				mii.hSubMenu = hSubMenu;
-				mii.dwTypeData = (PTSTR)spMenuItem->GetLocalName().c_str();
-				mii.cch = 0;
-
-				::InsertMenuItem(hMenu, uiFirstItemPosition++, TRUE, &mii);
-				break;
-			}
-		case TShellMenuItem::eSeparatorItem:
-			{
-				::InsertMenu(hMenu, uiFirstItemPosition++, MF_BYPOSITION | MF_SEPARATOR, m_uiNextMenuID++, nullptr);
-				break;
-			}
-		case TShellMenuItem::eStandardItem:
-			{
-				bool bEnableOwnerDrawnItem = m_bEnableOwnerDrawnPaths && spMenuItem->SpecifiesDestinationPath();
-				bool bEnableItem = rShellExtData.VerifyItemCanBeExecuted(spMenuItem);
-
-				std::wstring wstrItemName = GetDisplayText(spMenuItem, spFormatter, bShowFreeSpace);
-
-				::InsertMenu(hMenu, uiFirstItemPosition++, MF_BYPOSITION | MF_STRING | (bEnableItem ? MF_ENABLED : MF_GRAYED) | (bEnableOwnerDrawnItem ? MF_OWNERDRAW : 0),
-					m_uiNextMenuID, wstrItemName.c_str());
-
-				if(bOverrideDefaultItem && rShellExtData.IsDefaultItem(spMenuItem))
-					::SetMenuDefaultItem(hMenu, m_uiNextMenuID, FALSE);
-				++m_uiNextMenuID;
-				break;
-			}
-		default:
-			BOOST_ASSERT(false);		// unhandled case
-			return;
-		}
-		m_mapMenuItems.insert(std::make_pair(m_uiNextMenuID - 1, spMenuItem));		// (-1, because it was already incremented to point to the next free ID)
-	}
-}
-
-std::wstring TContextMenuHandler::GetDisplayText(const TShellMenuItemPtr& spMenuItem, const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace)
-{
-	std::wstring wstrItemName = spMenuItem->GetLocalName(false).c_str();
-
-	if(wstrItemName.empty())
-	{
-		wstrItemName = spMenuItem->GetName().c_str();
-
-		if(bShowFreeSpace && spMenuItem->SpecifiesDestinationPath())
-		{
-			try
-			{
-				unsigned long long ullSize = 0, ullTotal = 0;
-
-				m_fsLocal.GetDynamicFreeSpace(spMenuItem->GetDestinationPathInfo().GetDefaultDestinationPath(), ullSize, ullTotal);
-
-				wstrItemName += std::wstring(L" (") + spFormatter->GetSizeString(ullSize) + L")";
-				spMenuItem->SetLocalName(wstrItemName.c_str());
-			}
-			catch(const std::exception&)
-			{
-			}
-		}
-		else
-			spMenuItem->SetLocalName(wstrItemName.c_str());
-	}
-
-	return wstrItemName;
-}
-
-void TContextMenuHandler::Clear()
-{
-	m_mapMenuItems.clear();
-	for(HMENU hMenu : m_vHandlesToFree)
-	{
-		DestroyMenu(hMenu);
-	}
-	m_vHandlesToFree.clear();
-	m_uiFirstMenuID = 0;
-	m_uiNextMenuID = 0;
-	m_bEnableOwnerDrawnPaths = false;
-}
-
-TShellMenuItemPtr TContextMenuHandler::GetCommandByMenuItemOffset(UINT uiOffset)
-{
-	return GetCommandByItemID(m_uiFirstMenuID + uiOffset);
-}
-
-TShellMenuItemPtr TContextMenuHandler::GetCommandByItemID(UINT uiID)
-{
-	std::map<UINT, TShellMenuItemPtr>::iterator iter = m_mapMenuItems.find(uiID);
-	if(iter != m_mapMenuItems.end())
-		return (*iter).second;
-	else
-		return TShellMenuItemPtr();
-}
+// ============================================================================
+//  Copyright (C) 2001-2011 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.
+// ============================================================================
+/// @file  TContextMenuHandler.cpp
+/// @date  2011/05/28
+/// @brief Contains implementation of class that handles menus.
+// ============================================================================
+#include "stdafx.h"
+#include "TContextMenuHandler.h"
+#include "../common/TShellExtMenuConfig.h"
+#include "Logger.h"
+
+TContextMenuHandler::TContextMenuHandler() :
+	m_uiFirstMenuID(0),
+	m_uiNextMenuID(0),
+	m_bEnableOwnerDrawnPaths(false),
+	m_fsLocal(GetLogFileData())
+{
+}
+
+TContextMenuHandler::~TContextMenuHandler()
+{
+	Clear();
+}
+
+void TContextMenuHandler::Init(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemID, UINT uiFirstItemPosition, const TShellExtData& rShellExtData,
+	const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bEnableOwnerDrawnPaths, bool bOverrideDefaultItem)
+{
+	Clear();
+
+	m_uiFirstMenuID = uiFirstItemID;
+	m_uiNextMenuID = uiFirstItemID;
+	m_bEnableOwnerDrawnPaths = bEnableOwnerDrawnPaths;
+
+	UpdateMenuRecursive(spRootMenuItem, hMenu, uiFirstItemPosition, rShellExtData, spFormatter, bShowFreeSpace, bOverrideDefaultItem);
+}
+
+void TContextMenuHandler::UpdateMenuRecursive(const TShellMenuItemPtr& spRootMenuItem, HMENU hMenu, UINT uiFirstItemPosition,
+	const TShellExtData& rShellExtData, const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace, bool bOverrideDefaultItem)
+{
+	for(size_t stIndex = 0; stIndex < spRootMenuItem->GetChildrenCount(); ++stIndex)
+	{
+		TShellMenuItemPtr spMenuItem = spRootMenuItem->GetChildAt(stIndex);
+		switch(spMenuItem->GetItemType())
+		{
+		case TShellMenuItem::eGroupItem:
+			{
+				// special handling
+				HMENU hSubMenu = CreatePopupMenu();
+				UpdateMenuRecursive(spMenuItem, hSubMenu, 0, rShellExtData, spFormatter, bShowFreeSpace, bOverrideDefaultItem);
+
+				MENUITEMINFO mii;
+				mii.cbSize = sizeof(MENUITEMINFO);
+				mii.fMask = MIIM_ID | MIIM_STATE | MIIM_SUBMENU | MIIM_STRING;
+				mii.fType = MFT_STRING;
+				mii.fState = (spRootMenuItem->GetChildrenCount() > 0) ? MFS_ENABLED : MFS_GRAYED;
+				mii.wID = m_uiNextMenuID++;
+				mii.hSubMenu = hSubMenu;
+				mii.dwTypeData = (PTSTR)spMenuItem->GetLocalName().c_str();
+				mii.cch = 0;
+
+				::InsertMenuItem(hMenu, uiFirstItemPosition++, TRUE, &mii);
+				break;
+			}
+		case TShellMenuItem::eSeparatorItem:
+			{
+				::InsertMenu(hMenu, uiFirstItemPosition++, MF_BYPOSITION | MF_SEPARATOR, m_uiNextMenuID++, nullptr);
+				break;
+			}
+		case TShellMenuItem::eStandardItem:
+			{
+				bool bEnableOwnerDrawnItem = m_bEnableOwnerDrawnPaths && spMenuItem->SpecifiesDestinationPath();
+				bool bEnableItem = rShellExtData.VerifyItemCanBeExecuted(spMenuItem);
+
+				std::wstring wstrItemName = GetDisplayText(spMenuItem, spFormatter, bShowFreeSpace);
+
+				::InsertMenu(hMenu, uiFirstItemPosition++, MF_BYPOSITION | MF_STRING | (bEnableItem ? MF_ENABLED : MF_GRAYED) | (bEnableOwnerDrawnItem ? MF_OWNERDRAW : 0),
+					m_uiNextMenuID, wstrItemName.c_str());
+
+				if(bOverrideDefaultItem && rShellExtData.IsDefaultItem(spMenuItem))
+					::SetMenuDefaultItem(hMenu, m_uiNextMenuID, FALSE);
+				++m_uiNextMenuID;
+				break;
+			}
+		default:
+			BOOST_ASSERT(false);		// unhandled case
+			return;
+		}
+		m_mapMenuItems.insert(std::make_pair(m_uiNextMenuID - 1, spMenuItem));		// (-1, because it was already incremented to point to the next free ID)
+	}
+}
+
+std::wstring TContextMenuHandler::GetDisplayText(const TShellMenuItemPtr& spMenuItem, const chcore::TSizeFormatterPtr& spFormatter, bool bShowFreeSpace)
+{
+	std::wstring wstrItemName = spMenuItem->GetLocalName(false).c_str();
+
+	if(wstrItemName.empty())
+	{
+		wstrItemName = spMenuItem->GetName().c_str();
+
+		if(bShowFreeSpace && spMenuItem->SpecifiesDestinationPath())
+		{
+			try
+			{
+				unsigned long long ullSize = 0, ullTotal = 0;
+
+				m_fsLocal.GetDynamicFreeSpace(spMenuItem->GetDestinationPathInfo().GetDefaultDestinationPath(), ullSize, ullTotal);
+
+				wstrItemName += std::wstring(L" (") + spFormatter->GetSizeString(ullSize) + L")";
+				spMenuItem->SetLocalName(wstrItemName.c_str());
+			}
+			catch(const std::exception&)
+			{
+			}
+		}
+		else
+			spMenuItem->SetLocalName(wstrItemName.c_str());
+	}
+
+	return wstrItemName;
+}
+
+void TContextMenuHandler::Clear()
+{
+	m_mapMenuItems.clear();
+	for(HMENU hMenu : m_vHandlesToFree)
+	{
+		DestroyMenu(hMenu);
+	}
+	m_vHandlesToFree.clear();
+	m_uiFirstMenuID = 0;
+	m_uiNextMenuID = 0;
+	m_bEnableOwnerDrawnPaths = false;
+}
+
+TShellMenuItemPtr TContextMenuHandler::GetCommandByMenuItemOffset(UINT uiOffset)
+{
+	return GetCommandByItemID(m_uiFirstMenuID + uiOffset);
+}
+
+TShellMenuItemPtr TContextMenuHandler::GetCommandByItemID(UINT uiID)
+{
+	std::map<UINT, TShellMenuItemPtr>::iterator iter = m_mapMenuItems.find(uiID);
+	if(iter != m_mapMenuItems.end())
+		return (*iter).second;
+	else
+		return TShellMenuItemPtr();
+}
Index: src/common/TShellExtMenuConfig.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/common/TShellExtMenuConfig.cpp	(.../TShellExtMenuConfig.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/common/TShellExtMenuConfig.cpp	(.../TShellExtMenuConfig.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -195,34 +195,34 @@
 // class TShellMenuItem
 
 TShellMenuItem::TShellMenuItem() :
+	m_eItemType(eSeparatorItem),
 	m_tOperationType(),
-	m_tSourcePaths(),
 	m_tDestinationPath(),
-	m_eItemType(eSeparatorItem),
+	m_tSourcePaths(),
 	m_bSpecialOperation(false),
 	m_eDefaultItemHint(chcore::eOperation_None)
 {
 }
 
 TShellMenuItem::TShellMenuItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip, const TOperationTypeInfo& rOperationType, const TSourcePathsInfo& rSourcePaths, const TDestinationPathInfo& rDestinationPath, bool bSpecialOperation, chcore::EOperationType eDefaultItemHint) :
+	m_eItemType(eStandardItem),
 	m_strName(wstrName),
 	m_strItemTip(wstrItemTip),
 	m_tOperationType(rOperationType),
-	m_tSourcePaths(rSourcePaths),
 	m_tDestinationPath(rDestinationPath),
-	m_eItemType(eStandardItem),
+	m_tSourcePaths(rSourcePaths),
 	m_bSpecialOperation(bSpecialOperation),
 	m_eDefaultItemHint(eDefaultItemHint)
 {
 }
 
 TShellMenuItem::TShellMenuItem(const chcore::TString& wstrName, const chcore::TString& wstrItemTip) :
+	m_eItemType(eGroupItem),
 	m_strName(wstrName),
 	m_strItemTip(wstrItemTip),
 	m_tOperationType(),
-	m_tSourcePaths(),
 	m_tDestinationPath(),
-	m_eItemType(eGroupItem),
+	m_tSourcePaths(),
 	m_bSpecialOperation(false),
 	m_eDefaultItemHint(chcore::eOperation_None)
 {
@@ -450,13 +450,13 @@
 }
 
 TShellExtMenuConfig::TShellExtMenuConfig() :
+	m_spDragAndDropRoot(std::make_shared<TShellMenuItem>(_T(""), _T(""))),
+	m_spNormalRoot(std::make_shared<TShellMenuItem>(_T(""), _T(""))),
+	m_spFmtSize(std::make_shared<chcore::TSizeFormatter>()),
 	m_bInterceptDragAndDrop(false),
 	m_bInterceptKeyboardActions(false),
 	m_bInterceptCtxMenuActions(false),
-	m_bShowShortcutIcons(false),
-	m_spDragAndDropRoot(std::make_shared<TShellMenuItem>(_T(""), _T(""))),
-	m_spNormalRoot(std::make_shared<TShellMenuItem>(_T(""), _T(""))),
-	m_spFmtSize(std::make_shared<chcore::TSizeFormatter>())
+	m_bShowShortcutIcons(false)
 {
 }
 
Index: src/libchcore/ConfigNode.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/ConfigNode.cpp	(.../ConfigNode.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/ConfigNode.cpp	(.../ConfigNode.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -33,11 +33,11 @@
 		}
 
 		ConfigNode::ConfigNode(const ConfigNode& rSrc) :
+			m_setModifications(rSrc.m_setModifications),
 			m_oidObjectID(rSrc.m_oidObjectID),
 			m_iOrder(m_setModifications, rSrc.m_iOrder),
 			m_strNodeName(m_setModifications, rSrc.m_strNodeName),
-			m_strValue(m_setModifications, rSrc.m_strValue),
-			m_setModifications(rSrc.m_setModifications)
+			m_strValue(m_setModifications, rSrc.m_strValue)
 		{
 		}
 
Index: src/libchcore/IColumnsDefinition.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/IColumnsDefinition.h	(.../IColumnsDefinition.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/IColumnsDefinition.h	(.../IColumnsDefinition.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __ICOLUMNSDEFINITION_H__
 #define __ICOLUMNSDEFINITION_H__
 
-#include "libchcore.h"
 #include "TString.h"
 #include "TPath.h"
 
Index: src/libchcore/IFeedbackHandler.h
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/IFeedbackHandler.h	(.../IFeedbackHandler.h)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/IFeedbackHandler.h	(.../IFeedbackHandler.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,8 +19,6 @@
 #ifndef __FEEDBACKHANDLERBASE_H__
 #define __FEEDBACKHANDLERBASE_H__
 
-#include "libchcore.h"
-#include "TString.h"
 #include "ISerializerRowData.h"
 #include "EFileError.h"
 #include "TFeedbackResult.h"
Index: src/libchcore/IFeedbackHandlerFactory.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/IFeedbackHandlerFactory.h	(.../IFeedbackHandlerFactory.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/IFeedbackHandlerFactory.h	(.../IFeedbackHandlerFactory.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __IFEEDBACKHANDLERFACTORY_H__
 #define __IFEEDBACKHANDLERFACTORY_H__
 
-#include "libchcore.h"
 #include "IFeedbackHandler.h"
 
 namespace chcore
Index: src/libchcore/IFilesystem.h
===================================================================
diff -u -rbaad6054459abaaf69cbfd1ebad8783085160d99 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/IFilesystem.h	(.../IFilesystem.h)	(revision baad6054459abaaf69cbfd1ebad8783085160d99)
+++ src/libchcore/IFilesystem.h	(.../IFilesystem.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __IFILESYSTEM_H__
 #define __IFILESYSTEM_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "TFileInfoFwd.h"
 #include "TBasePathDataFwd.h"
Index: src/libchcore/IFilesystemFile.h
===================================================================
diff -u -rbaad6054459abaaf69cbfd1ebad8783085160d99 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/IFilesystemFile.h	(.../IFilesystemFile.h)	(revision baad6054459abaaf69cbfd1ebad8783085160d99)
+++ src/libchcore/IFilesystemFile.h	(.../IFilesystemFile.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __IFILESYSTEMFILE_H__
 #define __IFILESYSTEMFILE_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "CommonDataTypes.h"
 
Index: src/libchcore/ISQLiteSerializerSchema.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/ISQLiteSerializerSchema.h	(.../ISQLiteSerializerSchema.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/ISQLiteSerializerSchema.h	(.../ISQLiteSerializerSchema.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __ISERIALIZERSCHEMA_H__
 #define __ISERIALIZERSCHEMA_H__
 
-#include "libchcore.h"
 #include "TSQLiteDatabase.h"
 
 namespace chcore
Index: src/libchcore/ISerializer.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/ISerializer.h	(.../ISerializer.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/ISerializer.h	(.../ISerializer.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __ISERIALIZER_H__
 #define __ISERIALIZER_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "ISerializerContainer.h"
 
Index: src/libchcore/ISerializerContainer.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/ISerializerContainer.h	(.../ISerializerContainer.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/ISerializerContainer.h	(.../ISerializerContainer.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __ISERIALIZERCONTAINER_H__
 #define __ISERIALIZERCONTAINER_H__
 
-#include "libchcore.h"
 #include "IColumnsDefinition.h"
 #include "ISerializerRowReader.h"
 #include "SerializerDataTypes.h"
Index: src/libchcore/ISerializerFactory.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/ISerializerFactory.h	(.../ISerializerFactory.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/ISerializerFactory.h	(.../ISerializerFactory.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __ISERIALIZERFACTORY_H__
 #define __ISERIALIZERFACTORY_H__
 
-#include "libchcore.h"
 #include "TString.h"
 #include "ISerializer.h"
 
Index: src/libchcore/ISerializerRowData.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/ISerializerRowData.h	(.../ISerializerRowData.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/ISerializerRowData.h	(.../ISerializerRowData.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,8 +19,6 @@
 #ifndef __ISERIALIZERROWWRITER_H__
 #define __ISERIALIZERROWWRITER_H__
 
-#include "libchcore.h"
-#include "TString.h"
 #include "TPath.h"
 
 namespace chcore
Index: src/libchcore/ISerializerRowReader.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/ISerializerRowReader.h	(.../ISerializerRowReader.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/ISerializerRowReader.h	(.../ISerializerRowReader.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,10 +19,8 @@
 #ifndef __ISERIALIZERROWREADER_H__
 #define __ISERIALIZERROWREADER_H__
 
-#include "libchcore.h"
 #include "TString.h"
 #include "TPath.h"
-#include "IColumnsDefinition.h"
 
 namespace chcore
 {
Index: src/libchcore/MathFunctions.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/MathFunctions.cpp	(.../MathFunctions.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/MathFunctions.cpp	(.../MathFunctions.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -1,6 +1,5 @@
 #include "stdafx.h"
 #include "MathFunctions.h"
-#include <boost/numeric/conversion/cast.hpp>
 
 namespace chcore
 {
Index: src/libchcore/OverlappedCallbacks.cpp
===================================================================
diff -u -r3d7d129eda4a42e9f9318ae6b6f3b873dc9290d4 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/OverlappedCallbacks.cpp	(.../OverlappedCallbacks.cpp)	(revision 3d7d129eda4a42e9f9318ae6b6f3b873dc9290d4)
+++ src/libchcore/OverlappedCallbacks.cpp	(.../OverlappedCallbacks.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #include "stdafx.h"
 #include "OverlappedCallbacks.h"
 #include "TOverlappedDataBuffer.h"
-#include "TOverlappedWriter.h"
 #include "TOverlappedReaderFB.h"
 #include "TOverlappedWriterFB.h"
 
Index: src/libchcore/TBaseException.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TBaseException.cpp	(.../TBaseException.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TBaseException.cpp	(.../TBaseException.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -27,8 +27,8 @@
 		m_pszMsg(pszMsg),
 		m_bDeleteMsg(false),
 		m_pszFile(pszFile),
-		m_stLineNumber(stLineNumber),
-		m_pszFunction(pszFunction)
+		m_pszFunction(pszFunction),
+		m_stLineNumber(stLineNumber)
 	{
 		ATLTRACE(_T("*** Base Exception is being thrown:\n\tMsg: %s\n\tError code: %d\n\tFile: %s\n\tLine number: %ld\n\tFunction: %s\n"), pszMsg, eErrorCode, pszFile, stLineNumber, pszFunction);
 	}
@@ -38,8 +38,8 @@
 		m_pszMsg(nullptr),
 		m_bDeleteMsg(false),
 		m_pszFile(pszFile),
-		m_stLineNumber(stLineNumber),
-		m_pszFunction(pszFunction)
+		m_pszFunction(pszFunction),
+		m_stLineNumber(stLineNumber)
 	{
 		ATLTRACE(_T("*** Base Exception is being thrown:\n\tMsg: %S\n\tError code: %d\n\tFile: %s\n\tLine number: %ld\n\tFunction: %s\n"), pszMsg, eErrorCode, pszFile, stLineNumber, pszFunction);
 		if (pszMsg)
Index: src/libchcore/TBasePathData.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TBasePathData.cpp	(.../TBasePathData.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TBasePathData.cpp	(.../TBasePathData.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -45,11 +45,11 @@
 	}
 
 	TBasePathData::TBasePathData(const TBasePathData& rEntry) :
+		m_setModifications(rEntry.m_setModifications),
 		m_oidObjectID(rEntry.m_oidObjectID),
 		m_pathSrc(m_setModifications, rEntry.m_pathSrc),
-		m_pathDst(m_setModifications, rEntry.m_pathDst),
 		m_bSkipFurtherProcessing(m_setModifications, rEntry.m_bSkipFurtherProcessing),
-		m_setModifications(rEntry.m_setModifications)
+		m_pathDst(m_setModifications, rEntry.m_pathDst)
 	{
 	}
 
Index: src/libchcore/TBasePathData.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TBasePathData.h	(.../TBasePathData.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TBasePathData.h	(.../TBasePathData.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TBASEPATHDATA_H__
 #define __TBASEPATHDATA_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include <bitset>
 #include "TSharedModificationTracker.h"
Index: src/libchcore/TConfig.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TConfig.cpp	(.../TConfig.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TConfig.cpp	(.../TConfig.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #include "stdafx.h"
 #include "TConfig.h"
 #include <fstream>
-#include <iostream>
 #include <ios>
 #include "TConfigArray.h"
 
@@ -32,8 +31,6 @@
 	#include <boost/property_tree/xml_parser.hpp>
 #pragma warning(pop)
 
-#include <boost/algorithm/string/find.hpp>
-#include <deque>
 #include "TConfigNotifier.h"
 #include "ConfigNodeContainer.h"
 #include "ErrorCodes.h"
Index: src/libchcore/TConfig.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TConfig.h	(.../TConfig.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TConfig.h	(.../TConfig.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TCONFIG_H__
 #define __TCONFIG_H__
 
-#include "libchcore.h"
 #include "ISerializerContainer.h"
 
 namespace chcore
Index: src/libchcore/TConfigArray.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TConfigArray.h	(.../TConfigArray.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TConfigArray.h	(.../TConfigArray.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TCONFIGARRAY_H__
 #define __TCONFIGARRAY_H__
 
-#include "libchcore.h"
 #include "TConfig.h"
 
 namespace chcore
Index: src/libchcore/TCoreException.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TCoreException.h	(.../TCoreException.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TCoreException.h	(.../TCoreException.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TEXCEPTION_H__
 #define __TEXCEPTION_H__
 
-#include "libchcore.h"
 #include "ErrorCodes.h"
 #include "TBaseException.h"
 
Index: src/libchcore/TCoreStdException.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TCoreStdException.h	(.../TCoreStdException.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TCoreStdException.h	(.../TCoreStdException.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TCORESTDEXCEPTION_H__
 #define __TCORESTDEXCEPTION_H__
 
-#include "libchcore.h"
 #include "TCoreException.h"
 
 #define THROW_CORE_EXCEPTION_STD(error_code, std_exception)\
Index: src/libchcore/TDateTime.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TDateTime.h	(.../TDateTime.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TDateTime.h	(.../TDateTime.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TDATETIME_H__
 #define __TDATETIME_H__
 
-#include "libchcore.h"
 #include "TConfig.h"
 
 namespace chcore
Index: src/libchcore/TDestinationPathProvider.cpp
===================================================================
diff -u -rdcc6234ed612a75910b8900704c9d564096a037a -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TDestinationPathProvider.cpp	(.../TDestinationPathProvider.cpp)	(revision dcc6234ed612a75910b8900704c9d564096a037a)
+++ src/libchcore/TDestinationPathProvider.cpp	(.../TDestinationPathProvider.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -15,8 +15,8 @@
 
 		m_spFilesystem(spFilesystem),
 		m_pathDestinationBase(pathDestinationBase),
-		m_bForceDirectories(bForceDirectories),
 		m_bIgnoreFolders(bIgnoreFolders),
+		m_bForceDirectories(bForceDirectories),
 		m_strFirstAltName(strFirstAltName),
 		m_strNextAltName(strNextAltName)
 	{
Index: src/libchcore/TFakeFileSerializer.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFakeFileSerializer.h	(.../TFakeFileSerializer.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TFakeFileSerializer.h	(.../TFakeFileSerializer.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TFAKEFILESERIALIZER_H__
 #define __TFAKEFILESERIALIZER_H__
 
-#include "libchcore.h"
 #include "ISerializer.h"
 
 namespace chcore
Index: src/libchcore/TFeedbackHandlerBase.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFeedbackHandlerBase.h	(.../TFeedbackHandlerBase.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TFeedbackHandlerBase.h	(.../TFeedbackHandlerBase.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TFEEDBACKHANDLERBASE_H__
 #define __TFEEDBACKHANDLERBASE_H__
 
-#include "libchcore.h"
 #include "IFeedbackHandler.h"
 #include "ISerializerRowData.h"
 #include <bitset>
Index: src/libchcore/TFeedbackHandlerWrapper.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFeedbackHandlerWrapper.h	(.../TFeedbackHandlerWrapper.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TFeedbackHandlerWrapper.h	(.../TFeedbackHandlerWrapper.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TFEEDBACKHANDLERWRAPPER_H__
 #define __TFEEDBACKHANDLERWRAPPER_H__
 
-#include "libchcore.h"
 #include "IFeedbackHandler.h"
 
 namespace chcore
Index: src/libchcore/TFileException.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileException.cpp	(.../TFileException.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TFileException.cpp	(.../TFileException.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,8 +23,8 @@
 {
 	TFileException::TFileException(EGeneralErrors eErrorCode, DWORD dwNativeErrorCode, const TSmartPath& path, wchar_t* pszMsg, const wchar_t* pszFile, size_t stLineNumber, const wchar_t* pszFunction) :
 		TCoreException(eErrorCode, pszMsg, pszFile, stLineNumber, pszFunction),
-		m_path(path),
-		m_dwNativeErrorCode(dwNativeErrorCode)
+		m_dwNativeErrorCode(dwNativeErrorCode),
+		m_path(path)
 	{
 	}
 
Index: src/libchcore/TFileException.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileException.h	(.../TFileException.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TFileException.h	(.../TFileException.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TFILEWIN32EXCEPTION_H__
 #define __TFILEWIN32EXCEPTION_H__
 
-#include "libchcore.h"
 #include "ErrorCodes.h"
 #include "TPath.h"
 #include "TCoreException.h"
@@ -32,8 +31,8 @@
 		TFileException(EGeneralErrors eErrorCode, DWORD dwNativeErrorCode, const TSmartPath& path, wchar_t* pszMsg,
 			const wchar_t* pszFile, size_t stLineNumber, const wchar_t* pszFunction);
 
-		virtual void GetErrorInfo(wchar_t* pszBuffer, size_t stMaxBuffer) const;
-		virtual void GetDetailedErrorInfo(wchar_t* pszBuffer, size_t stMaxBuffer) const;
+		void GetErrorInfo(wchar_t* pszBuffer, size_t stMaxBuffer) const override;
+		void GetDetailedErrorInfo(wchar_t* pszBuffer, size_t stMaxBuffer) const override;
 
 		const TSmartPath& GetPath() const { return m_path; }
 		DWORD GetNativeError() const { return m_dwNativeErrorCode; }
Index: src/libchcore/TFileFilter.cpp
===================================================================
diff -u -rfcf6698a5e67445b1a68627fa94837b1ad97284e -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileFilter.cpp	(.../TFileFilter.cpp)	(revision fcf6698a5e67445b1a68627fa94837b1ad97284e)
+++ src/libchcore/TFileFilter.cpp	(.../TFileFilter.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -36,8 +36,8 @@
 		m_bUseSize2(m_setModifications, false),
 		m_eSizeCmpType2(m_setModifications, eSizeCmp_Less),
 		m_ullSize2(m_setModifications, 0),
-		m_bUseDateTime1(m_setModifications, false),
 		m_eDateType(m_setModifications, eDateType_Created),
+		m_bUseDateTime1(m_setModifications, false),
 		m_eDateCmpType1(m_setModifications, eDateCmp_Greater),
 		m_bUseDate1(m_setModifications, false),
 		m_bUseTime1(m_setModifications, false),
@@ -73,8 +73,8 @@
 		m_bUseSize2(rFilter.m_bUseSize2, m_setModifications),
 		m_eSizeCmpType2(rFilter.m_eSizeCmpType2, m_setModifications),
 		m_ullSize2(rFilter.m_ullSize2, m_setModifications),
-		m_bUseDateTime1(rFilter.m_bUseDateTime1, m_setModifications),
 		m_eDateType(rFilter.m_eDateType, m_setModifications),
+		m_bUseDateTime1(rFilter.m_bUseDateTime1, m_setModifications),
 		m_eDateCmpType1(rFilter.m_eDateCmpType1, m_setModifications),
 		m_bUseDate1(rFilter.m_bUseDate1, m_setModifications),
 		m_bUseTime1(rFilter.m_bUseTime1, m_setModifications),
Index: src/libchcore/TFileFilter.h
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileFilter.h	(.../TFileFilter.h)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/TFileFilter.h	(.../TFileFilter.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TFILEFILTER_H__
 #define __TFILEFILTER_H__
 
-#include "libchcore.h"
 #include <atltime.h>
 #include "TDateTime.h"
 #include "TStringArray.h"
Index: src/libchcore/TFileFiltersArray.h
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileFiltersArray.h	(.../TFileFiltersArray.h)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/TFileFiltersArray.h	(.../TFileFiltersArray.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TFILEFILTERSARRAY_H__
 #define __TFILEFILTERSARRAY_H__
 
-#include "libchcore.h"
 #include "TFileFilter.h"
 #include "ISerializerContainer.h"
 #include "TRemovedObjects.h"
Index: src/libchcore/TFileInfo.cpp
===================================================================
diff -u -rf866db90e4b058a4f2e13cc6cf076d1e0bf2d956 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileInfo.cpp	(.../TFileInfo.cpp)	(revision f866db90e4b058a4f2e13cc6cf076d1e0bf2d956)
+++ src/libchcore/TFileInfo.cpp	(.../TFileInfo.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -32,43 +32,43 @@
 	//////////////////////////////////////////////////////////////////////
 
 	TFileInfo::TFileInfo() :
+		m_oidObjectID(0),
 		m_pathFile(m_setModifications),
 		m_spBasePathData(m_setModifications),
 		m_dwAttributes(m_setModifications, 0),
 		m_uhFileSize(m_setModifications, 0),
 		m_ftCreation(m_setModifications),
 		m_ftLastAccess(m_setModifications),
 		m_ftLastWrite(m_setModifications),
-		m_uiFlags(m_setModifications, 0),
-		m_oidObjectID(0)
+		m_uiFlags(m_setModifications, 0)
 	{
 		m_setModifications[eMod_Added] = true;
 	}
 
 	TFileInfo::TFileInfo(const TFileInfo& rSrc) :
+		m_setModifications(rSrc.m_setModifications),
+		m_oidObjectID(rSrc.m_oidObjectID),
 		m_pathFile(m_setModifications, rSrc.m_pathFile),
 		m_spBasePathData(m_setModifications, rSrc.m_spBasePathData),
 		m_dwAttributes(m_setModifications, rSrc.m_dwAttributes),
 		m_uhFileSize(m_setModifications, rSrc.m_uhFileSize),
 		m_ftCreation(m_setModifications, rSrc.m_ftCreation),
 		m_ftLastAccess(m_setModifications, rSrc.m_ftLastAccess),
 		m_ftLastWrite(m_setModifications, rSrc.m_ftLastWrite),
-		m_uiFlags(m_setModifications, rSrc.m_uiFlags),
-		m_oidObjectID(rSrc.m_oidObjectID),
-		m_setModifications(rSrc.m_setModifications)
+		m_uiFlags(m_setModifications, rSrc.m_uiFlags)
 	{
 	}
 
 	TFileInfo::TFileInfo(const TBasePathDataPtr& spBasePathData, const TSmartPath& rpathFile, DWORD dwAttributes, ULONGLONG uhFileSize, const TFileTime& ftCreation, const TFileTime& ftLastAccess, const TFileTime& ftLastWrite, unsigned int uiFlags) :
+		m_oidObjectID(0),
 		m_pathFile(m_setModifications, rpathFile),
 		m_spBasePathData(m_setModifications, spBasePathData),
 		m_dwAttributes(m_setModifications, dwAttributes),
 		m_uhFileSize(m_setModifications, uhFileSize),
 		m_ftCreation(m_setModifications, ftCreation),
 		m_ftLastAccess(m_setModifications, ftLastAccess),
 		m_ftLastWrite(m_setModifications, ftLastWrite),
-		m_uiFlags(m_setModifications, uiFlags),
-		m_oidObjectID(0)
+		m_uiFlags(m_setModifications, uiFlags)
 	{
 		if (m_spBasePathData.Get())
 			m_pathFile.Modify().MakeRelativePath(m_spBasePathData.Get()->GetSrcPath());
Index: src/libchcore/TFileInfo.h
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileInfo.h	(.../TFileInfo.h)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/TFileInfo.h	(.../TFileInfo.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -22,7 +22,6 @@
 #ifndef __TFILEINFO_H__
 #define __TFILEINFO_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "TBasePathData.h"
 #include <bitset>
Index: src/libchcore/TFileInfoArray.cpp
===================================================================
diff -u -r8a2ff3b2b71b45fb525e030167e62f316cb32869 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileInfoArray.cpp	(.../TFileInfoArray.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
+++ src/libchcore/TFileInfoArray.cpp	(.../TFileInfoArray.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 // File was originally based on FileInfo.cpp by Antonio Tejada Lacaci.
 // Almost everything has changed since then.
 #include "stdafx.h"
-#include <limits>
 #include "TFileInfoArray.h"
 #include "TFileInfo.h"
 #include "ISerializerContainer.h"
Index: src/libchcore/TFileInfoArray.h
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFileInfoArray.h	(.../TFileInfoArray.h)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/TFileInfoArray.h	(.../TFileInfoArray.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -22,7 +22,6 @@
 #ifndef __TFILEINFOARRAY_H__
 #define __TFILEINFOARRAY_H__
 
-#include "libchcore.h"
 #include "TBasePathData.h"
 #include "CommonDataTypes.h"
 
Index: src/libchcore/TFilesystemFileFeedbackWrapper.cpp
===================================================================
diff -u -rbaad6054459abaaf69cbfd1ebad8783085160d99 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TFilesystemFileFeedbackWrapper.cpp	(.../TFilesystemFileFeedbackWrapper.cpp)	(revision baad6054459abaaf69cbfd1ebad8783085160d99)
+++ src/libchcore/TFilesystemFileFeedbackWrapper.cpp	(.../TFilesystemFileFeedbackWrapper.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -31,9 +31,9 @@
 		TWorkerThreadController& rThreadController, const IFilesystemPtr& spFilesystem) :
 		m_spFile(spFile),
 		m_spFeedbackHandler(spFeedbackHandler),
+		m_spFilesystem(spFilesystem),
 		m_spLog(std::make_unique<logger::TLogger>(spLogFileData, L"Filesystem-File")),
-		m_rThreadController(rThreadController),
-		m_spFilesystem(spFilesystem)
+		m_rThreadController(rThreadController)
 	{
 		if (!spFeedbackHandler)
 			throw TCoreException(eErr_InvalidArgument, L"spFeedbackHandler is NULL", LOCATION);
Index: src/libchcore/TIpcMutexLock.h
===================================================================
diff -u -r306fbe693c70290af9de9a5779084a697de22d75 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TIpcMutexLock.h	(.../TIpcMutexLock.h)	(revision 306fbe693c70290af9de9a5779084a697de22d75)
+++ src/libchcore/TIpcMutexLock.h	(.../TIpcMutexLock.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TIPCMUTEXLOCK_H__
 #define __TIPCMUTEXLOCK_H__
 
-#include "libchcore.h"
 #include "TIpcMutex.h"
 
 namespace chcore
Index: src/libchcore/TLocalFilesystem.h
===================================================================
diff -u -rbaad6054459abaaf69cbfd1ebad8783085160d99 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TLocalFilesystem.h	(.../TLocalFilesystem.h)	(revision baad6054459abaaf69cbfd1ebad8783085160d99)
+++ src/libchcore/TLocalFilesystem.h	(.../TLocalFilesystem.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TLOCALFILESYSTEM_H__
 #define __TLOCALFILESYSTEM_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "TBasePathData.h"
 #include "TFileInfoFwd.h"
Index: src/libchcore/TLocalFilesystemFile.h
===================================================================
diff -u -rbaad6054459abaaf69cbfd1ebad8783085160d99 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TLocalFilesystemFile.h	(.../TLocalFilesystemFile.h)	(revision baad6054459abaaf69cbfd1ebad8783085160d99)
+++ src/libchcore/TLocalFilesystemFile.h	(.../TLocalFilesystemFile.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,11 +19,10 @@
 #ifndef __TLOCALFILESYSTEMFILE_H__
 #define __TLOCALFILESYSTEMFILE_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "TOverlappedDataBuffer.h"
 #include "IFilesystemFile.h"
-#include "..\liblogger\TLogger.h"
+#include "../liblogger/TLogger.h"
 
 namespace chcore
 {
Index: src/libchcore/TLocalFilesystemFind.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TLocalFilesystemFind.h	(.../TLocalFilesystemFind.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TLocalFilesystemFind.h	(.../TLocalFilesystemFind.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TLOCALFILESYSTEMFIND_H__
 #define __TLOCALFILESYSTEMFIND_H__
 
-#include "libchcore.h"
 #include "TFileInfoFwd.h"
 #include "TPath.h"
 #include "IFilesystemFind.h"
Index: src/libchcore/TModPathContainer.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TModPathContainer.h	(.../TModPathContainer.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TModPathContainer.h	(.../TModPathContainer.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TMODPATHCONTAINER_H__
 #define __TMODPATHCONTAINER_H__
 
-#include "libchcore.h"
 #include <boost/container/flat_map.hpp>
 #include "TModificationTracker.h"
 #include "TPath.h"
Index: src/libchcore/TModificationTracker.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TModificationTracker.h	(.../TModificationTracker.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TModificationTracker.h	(.../TModificationTracker.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -39,8 +39,8 @@
 		}
 
 		TModificationTracker(const TModificationTracker<T>& rSrc) :
-			m_chModified(rSrc.m_chModified),
-			m_tValue(rSrc.m_tValue)
+			m_tValue(rSrc.m_tValue),
+			m_chModified(rSrc.m_chModified)
 		{
 		}
 
Index: src/libchcore/TObsoleteFiles.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TObsoleteFiles.h	(.../TObsoleteFiles.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TObsoleteFiles.h	(.../TObsoleteFiles.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TOBSOLETEFILES_H__
 #define __TOBSOLETEFILES_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include <map>
 #include "ISerializerRowData.h"
Index: src/libchcore/TOrderedBufferQueue.cpp
===================================================================
diff -u -rcb1a7688ad1ac1081a219c170754776e986ccc8c -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TOrderedBufferQueue.cpp	(.../TOrderedBufferQueue.cpp)	(revision cb1a7688ad1ac1081a219c170754776e986ccc8c)
+++ src/libchcore/TOrderedBufferQueue.cpp	(.../TOrderedBufferQueue.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -20,7 +20,6 @@
 #include "TOrderedBufferQueue.h"
 #include "TOverlappedDataBuffer.h"
 #include "TCoreException.h"
-#include <boost/thread/shared_mutex.hpp>
 #include <boost/thread/locks.hpp>
 
 namespace chcore
Index: src/libchcore/TPath.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TPath.cpp	(.../TPath.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TPath.cpp	(.../TPath.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -17,8 +17,6 @@
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
 #include "stdafx.h"
-#include <boost/serialization/serialization.hpp>
-#include <boost/bind.hpp>
 #include "TPath.h"
 #pragma warning(push)
 #pragma warning(disable: 4996)
Index: src/libchcore/TPath.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TPath.h	(.../TPath.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TPath.h	(.../TPath.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TPATH_H__
 #define __TPATH_H__
 
-#include "libchcore.h"
 #include "TString.h"
 
 namespace chcore
Index: src/libchcore/TPathContainer.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TPathContainer.h	(.../TPathContainer.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TPathContainer.h	(.../TPathContainer.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TPATHCONTAINER_H__
 #define __TPATHCONTAINER_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "TConfig.h"
 
Index: src/libchcore/TSQLiteColumnDefinition.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteColumnDefinition.h	(.../TSQLiteColumnDefinition.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteColumnDefinition.h	(.../TSQLiteColumnDefinition.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSQLITECOLUMNDEFINITION_H__
 #define __TSQLITECOLUMNDEFINITION_H__
 
-#include "libchcore.h"
 #include "TString.h"
 #include <vector>
 #include "IColumnsDefinition.h"
Index: src/libchcore/TSQLiteDatabase.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteDatabase.cpp	(.../TSQLiteDatabase.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteDatabase.cpp	(.../TSQLiteDatabase.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -27,9 +27,9 @@
 	namespace sqlite
 	{
 		TSQLiteDatabase::TSQLiteDatabase(const TSmartPath& pathDatabase) :
+			m_pathDatabase(pathDatabase),
 			m_pDBHandle(nullptr),
-			m_bInTransaction(false),
-			m_pathDatabase(pathDatabase)
+			m_bInTransaction(false)
 		{
 			int iResult = sqlite3_open16(m_pathDatabase.ToString(), &m_pDBHandle);
 			if (iResult != SQLITE_OK)
Index: src/libchcore/TSQLiteSerializer.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializer.cpp	(.../TSQLiteSerializer.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializer.cpp	(.../TSQLiteSerializer.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -22,7 +22,6 @@
 #include "TCoreException.h"
 #include "ErrorCodes.h"
 #include "TSQLiteTransaction.h"
-#include "TSQLiteStatement.h"
 #include "TSimpleTimer.h"
 #include "SerializerTrace.h"
 
Index: src/libchcore/TSQLiteSerializer.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializer.h	(.../TSQLiteSerializer.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializer.h	(.../TSQLiteSerializer.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSQLITESERIALIZER_H__
 #define __TSQLITESERIALIZER_H__
 
-#include "libchcore.h"
 #include <map>
 #include "ISerializer.h"
 #include "TSQLiteDatabase.h"
Index: src/libchcore/TSQLiteSerializerContainer.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializerContainer.cpp	(.../TSQLiteSerializerContainer.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializerContainer.cpp	(.../TSQLiteSerializerContainer.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -20,7 +20,6 @@
 #include "TSQLiteSerializerContainer.h"
 #include "TSQLiteSerializerRowData.h"
 #include "ErrorCodes.h"
-#include "TCoreException.h"
 #include <boost/format.hpp>
 #include "TSQLiteStatement.h"
 #include "TSQLiteSerializerRowReader.h"
@@ -34,9 +33,9 @@
 	using namespace sqlite;
 
 	TSQLiteSerializerContainer::TSQLiteSerializerContainer(const TString& strName, const sqlite::TSQLiteDatabasePtr& spDB, TPlainStringPool& poolStrings) :
+		m_pPoolRows(nullptr),
 		m_strName(strName),
 		m_spDB(spDB),
-		m_pPoolRows(nullptr),
 		m_poolStrings(poolStrings)
 	{
 	}
Index: src/libchcore/TSQLiteSerializerContainer.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializerContainer.h	(.../TSQLiteSerializerContainer.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializerContainer.h	(.../TSQLiteSerializerContainer.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSQLITESERIALIZERCONTAINER_H__
 #define __TSQLITESERIALIZERCONTAINER_H__
 
-#include "libchcore.h"
 #include "ISerializerRowReader.h"
 #include "ISerializerContainer.h"
 #include <boost/pool/poolfwd.hpp>
Index: src/libchcore/TSQLiteSerializerFactory.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializerFactory.h	(.../TSQLiteSerializerFactory.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializerFactory.h	(.../TSQLiteSerializerFactory.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSQLITESERIALIZERFACTORY_H__
 #define __TSQLITESERIALIZERFACTORY_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "ISerializerFactory.h"
 
Index: src/libchcore/TSQLiteSerializerRowData.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializerRowData.cpp	(.../TSQLiteSerializerRowData.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializerRowData.cpp	(.../TSQLiteSerializerRowData.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -29,8 +29,8 @@
 {
 	///////////////////////////////////////////////////////////////////////////
 	TSQLiteSerializerRowData::TSQLiteSerializerRowData(object_id_t oidRowID, TSQLiteColumnsDefinition& rColumnDefinition, bool bAdded, unsigned long long* pPoolMemory, size_t stPoolMemorySizeInBytes, TPlainStringPool& poolStrings) :
-		m_rColumns(rColumnDefinition),
 		m_pPoolMemory(pPoolMemory),
+		m_rColumns(rColumnDefinition),
 		m_poolStrings(poolStrings)
 	{
 		if (!m_pPoolMemory)
@@ -50,8 +50,8 @@
 	}
 
 	TSQLiteSerializerRowData::TSQLiteSerializerRowData(const TSQLiteSerializerRowData& rSrc) :
-		m_rColumns(rSrc.m_rColumns),
 		m_pPoolMemory(rSrc.m_pPoolMemory),
+		m_rColumns(rSrc.m_rColumns),
 		m_poolStrings(rSrc.m_poolStrings)
 	{
 	}
Index: src/libchcore/TSQLiteSerializerRowData.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializerRowData.h	(.../TSQLiteSerializerRowData.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializerRowData.h	(.../TSQLiteSerializerRowData.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSQLITESERIALIZERROWWRITER_H__
 #define __TSQLITESERIALIZERROWWRITER_H__
 
-#include "libchcore.h"
 #include "ISerializerRowData.h"
 #include "TSQLiteColumnDefinition.h"
 #include "ISerializerContainer.h"
Index: src/libchcore/TSQLiteSerializerRowReader.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializerRowReader.cpp	(.../TSQLiteSerializerRowReader.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializerRowReader.cpp	(.../TSQLiteSerializerRowReader.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -28,9 +28,9 @@
 namespace chcore
 {
 	TSQLiteSerializerRowReader::TSQLiteSerializerRowReader(const sqlite::TSQLiteDatabasePtr& spDatabase, TSQLiteColumnsDefinition& rColumns, const TString& strContainerName) :
+		m_bInitialized(false),
 		m_spStatement(new sqlite::TSQLiteStatement(spDatabase)),
 		m_rColumns(rColumns),
-		m_bInitialized(false),
 		m_strContainerName(strContainerName)
 	{
 		if (m_strContainerName.IsEmpty())
Index: src/libchcore/TSQLiteSerializerRowReader.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteSerializerRowReader.h	(.../TSQLiteSerializerRowReader.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteSerializerRowReader.h	(.../TSQLiteSerializerRowReader.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSQLITESERIALIZERROWREADER_H__
 #define __TSQLITESERIALIZERROWREADER_H__
 
-#include "libchcore.h"
 #include "ISerializerRowReader.h"
 #include "TSQLiteStatement.h"
 #include "TSQLiteColumnDefinition.h"
Index: src/libchcore/TSQLiteTaskManagerSchema.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteTaskManagerSchema.h	(.../TSQLiteTaskManagerSchema.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteTaskManagerSchema.h	(.../TSQLiteTaskManagerSchema.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TTASKMANAGERSCHEMA_H__
 #define __TTASKMANAGERSCHEMA_H__
 
-#include "libchcore.h"
 #include "TSQLiteDatabase.h"
 #include "ISQLiteSerializerSchema.h"
 
Index: src/libchcore/TSQLiteTaskSchema.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSQLiteTaskSchema.h	(.../TSQLiteTaskSchema.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSQLiteTaskSchema.h	(.../TSQLiteTaskSchema.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSQLITETASKSCHEMA_H__
 #define __TSQLITETASKSCHEMA_H__
 
-#include "libchcore.h"
 #include "ISQLiteSerializerSchema.h"
 
 namespace chcore
Index: src/libchcore/TSerializerException.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSerializerException.h	(.../TSerializerException.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSerializerException.h	(.../TSerializerException.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSERIALIZEREXCEPTION_H__
 #define __TSERIALIZEREXCEPTION_H__
 
-#include "libchcore.h"
 #include "TBaseException.h"
 
 namespace chcore
Index: src/libchcore/TSerializerVersion.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSerializerVersion.h	(.../TSerializerVersion.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSerializerVersion.h	(.../TSerializerVersion.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSERIALIZERVERSION_H__
 #define __TSERIALIZERVERSION_H__
 
-#include "libchcore.h"
 #include "TSQLiteDatabase.h"
 
 namespace chcore
Index: src/libchcore/TSharedMemory.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSharedMemory.cpp	(.../TSharedMemory.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSharedMemory.cpp	(.../TSharedMemory.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -37,8 +37,8 @@
 	TSharedMemory::TSharedMemory() :
 		m_hFileMapping(nullptr),
 		m_pMappedMemory(nullptr),
-		m_mutex(nullptr),
-		m_stSize(0)
+		m_stSize(0),
+		m_mutex(nullptr)
 	{
 	}
 
Index: src/libchcore/TSimpleTimer.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSimpleTimer.cpp	(.../TSimpleTimer.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSimpleTimer.cpp	(.../TSimpleTimer.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -25,8 +25,8 @@
 	TSimpleTimer::TSimpleTimer(bool bAutostart, const ITimestampProviderPtr& spTimestampProvider) :
 		m_spTimestampProvider(spTimestampProvider),
 		m_bStarted(false),
-		m_ullLastTime(0),
-		m_ullTotalTime(0)
+		m_ullTotalTime(0),
+		m_ullLastTime(0)
 	{
 		if (!spTimestampProvider)
 			m_spTimestampProvider = std::make_shared<TTimestampProviderTickCount>();
Index: src/libchcore/TSimpleTimer.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSimpleTimer.h	(.../TSimpleTimer.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSimpleTimer.h	(.../TSimpleTimer.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSIMPLETIMER_H__
 #define __TSIMPLETIMER_H__
 
-#include "libchcore.h"
 #include "ITimestampProvider.h"
 
 namespace chcore
Index: src/libchcore/TSpeedTracker.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSpeedTracker.cpp	(.../TSpeedTracker.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSpeedTracker.cpp	(.../TSpeedTracker.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -14,10 +14,10 @@
 		m_stRequiredSamples(ullSampleTime ? boost::numeric_cast<size_t>(ullTrackTime / ullSampleTime) : 0),
 		m_ullSampleTime(ullSampleTime),
 		m_dSamplesPerSecond(ullSampleTime != 0 ? 1000.0 / ullSampleTime : 0.0),
-		m_dPartialSpeedNotInSamples(0),
-		m_ullTimeIntervalNotInSamples(0),
 		m_stNextSamplePos(0),
 		m_ullLastTimestamp(std::numeric_limits<unsigned long long>::max()),
+		m_dPartialSpeedNotInSamples(0),
+		m_ullTimeIntervalNotInSamples(0),
 		m_ullZeroIntervalData(0)
 	{
 		if(ullSampleTime == 0)
Index: src/libchcore/TStringException.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TStringException.h	(.../TStringException.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TStringException.h	(.../TStringException.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSTRINGEXCEPTION_H__
 #define __TSTRINGEXCEPTION_H__
 
-#include "libchcore.h"
 #include "ErrorCodes.h"
 #include "TBaseException.h"
 
Index: src/libchcore/TStringPattern.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TStringPattern.cpp	(.../TStringPattern.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TStringPattern.cpp	(.../TStringPattern.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -21,8 +21,8 @@
 	}
 
 	TStringPattern::TStringPattern(const TString& strPattern, EPatternType ePatternType) :
-		m_ePatternType(ePatternType),
-		m_strPattern(strPattern)
+		m_strPattern(strPattern),
+		m_ePatternType(ePatternType)
 	{
 	}
 
Index: src/libchcore/TStringPattern.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TStringPattern.h	(.../TStringPattern.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TStringPattern.h	(.../TStringPattern.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSTRINGPATTERN_H__
 #define __TSTRINGPATTERN_H__
 
-#include "libchcore.h"
 #include "TString.h"
 
 namespace chcore
Index: src/libchcore/TStringPatternArray.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TStringPatternArray.h	(.../TStringPatternArray.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TStringPatternArray.h	(.../TStringPatternArray.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSTRINGPATTERNARRAY_H__
 #define __TSTRINGPATTERNARRAY_H__
 
-#include "libchcore.h"
 #include "TStringPattern.h"
 
 namespace chcore
Index: src/libchcore/TSubTaskArray.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskArray.h	(.../TSubTaskArray.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskArray.h	(.../TSubTaskArray.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TSUBTASKSARRAY_H__
 #define __TSUBTASKSARRAY_H__
 
-#include "libchcore.h"
 #include <boost/tuple/tuple.hpp>
 #include "TSubTaskBase.h"
 #include "TTaskLocalStats.h"
Index: src/libchcore/TSubTaskArrayStatsSnapshot.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskArrayStatsSnapshot.cpp	(.../TSubTaskArrayStatsSnapshot.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskArrayStatsSnapshot.cpp	(.../TSubTaskArrayStatsSnapshot.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -18,8 +18,6 @@
 // ============================================================================
 #include "stdafx.h"
 #include "TSubTaskArrayStatsSnapshot.h"
-#include "ErrorCodes.h"
-#include "TCoreException.h"
 #include <boost\numeric\conversion\cast.hpp>
 
 namespace chcore
Index: src/libchcore/TSubTaskArrayStatsSnapshot.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskArrayStatsSnapshot.h	(.../TSubTaskArrayStatsSnapshot.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskArrayStatsSnapshot.h	(.../TSubTaskArrayStatsSnapshot.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TSUBTASKARRAYSTATSSNAPSHOT_H__
 #define __TSUBTASKARRAYSTATSSNAPSHOT_H__
 
-#include "libchcore.h"
 #include "TSubTaskStatsSnapshot.h"
 #include "SerializerDataTypes.h"
 
Index: src/libchcore/TSubTaskBase.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskBase.cpp	(.../TSubTaskBase.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskBase.cpp	(.../TSubTaskBase.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -22,13 +22,7 @@
 // ============================================================================
 #include "stdafx.h"
 #include "TSubTaskBase.h"
-#include "TBasePathData.h"
 #include "TSubTaskContext.h"
-#include "TTaskConfiguration.h"
-#include <boost/lexical_cast.hpp>
-#include "TFileInfo.h"
-#include "TCoreException.h"
-#include "ErrorCodes.h"
 
 namespace chcore
 {
Index: src/libchcore/TSubTaskBase.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskBase.h	(.../TSubTaskBase.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskBase.h	(.../TSubTaskBase.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TSUBTASKBASE_H__
 #define __TSUBTASKBASE_H__
 
-#include "libchcore.h"
 #include "ESubTaskTypes.h"
 #include "TSubTaskStatsInfo.h"
 #include "ISerializer.h"
Index: src/libchcore/TSubTaskContext.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskContext.cpp	(.../TSubTaskContext.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskContext.cpp	(.../TSubTaskContext.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -35,12 +35,12 @@
 		m_rConfig(rConfig),
 		m_eOperationType(eOperation_None),
 		m_spBasePaths(spBasePaths),
+		m_rFilters(rFilters),
 		m_pathDestination(),
 		m_rCfgTracker(rCfgTracker),
-		m_spLogFileData(spLogFileData),
-		m_rThreadController(rThreadController),
 		m_spFilesystem(spFilesystem),
-		m_rFilters(rFilters)
+		m_spLogFileData(spLogFileData),
+		m_rThreadController(rThreadController)
 	{
 		if (!spFilesystem)
 			throw TCoreException(eErr_InvalidArgument, L"spFilesystem", LOCATION);
Index: src/libchcore/TSubTaskContext.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskContext.h	(.../TSubTaskContext.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskContext.h	(.../TSubTaskContext.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TSUBTASKCONTEXT_H__
 #define __TSUBTASKCONTEXT_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "EOperationTypes.h"
 #include "TBasePathData.h"
Index: src/libchcore/TSubTaskCopyMove.cpp
===================================================================
diff -u -rbaad6054459abaaf69cbfd1ebad8783085160d99 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskCopyMove.cpp	(.../TSubTaskCopyMove.cpp)	(revision baad6054459abaaf69cbfd1ebad8783085160d99)
+++ src/libchcore/TSubTaskCopyMove.cpp	(.../TSubTaskCopyMove.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -40,9 +40,7 @@
 #include "TOverlappedMemoryPool.h"
 #include "RoundingFunctions.h"
 #include "TTaskConfigBufferSizes.h"
-#include "TFileException.h"
 #include "TFilesystemFeedbackWrapper.h"
-#include "TFilesystemFileFeedbackWrapper.h"
 #include "TDestinationPathProvider.h"
 #include "TOverlappedReaderWriterFB.h"
 #include "TThreadedQueueRunner.h"
Index: src/libchcore/TSubTaskCopyMove.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskCopyMove.h	(.../TSubTaskCopyMove.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskCopyMove.h	(.../TSubTaskCopyMove.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TSUBTASKCOPYMOVE_H__
 #define __TSUBTASKCOPYMOVE_H__
 
-#include "libchcore.h"
 #include "TSubTaskBase.h"
 #include "TBufferSizes.h"
 #include "../liblogger/TLogger.h"
Index: src/libchcore/TSubTaskDelete.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskDelete.cpp	(.../TSubTaskDelete.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskDelete.cpp	(.../TSubTaskDelete.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -30,12 +30,9 @@
 #include "TFileInfoArray.h"
 #include "TFileInfo.h"
 #include "TTaskLocalStats.h"
-#include "TCoreException.h"
-#include "ErrorCodes.h"
 #include "TScopedRunningTimeTracker.h"
 #include "TFeedbackHandlerWrapper.h"
 #include "TBufferSizes.h"
-#include "TFileException.h"
 #include "TFilesystemFeedbackWrapper.h"
 
 namespace chcore
Index: src/libchcore/TSubTaskDelete.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskDelete.h	(.../TSubTaskDelete.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskDelete.h	(.../TSubTaskDelete.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TSUBTASKDELETE_H__
 #define __TSUBTASKDELETE_H__
 
-#include "libchcore.h"
 #include "TSubTaskBase.h"
 #include "../liblogger/TLogger.h"
 
Index: src/libchcore/TSubTaskFastMove.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskFastMove.cpp	(.../TSubTaskFastMove.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskFastMove.cpp	(.../TSubTaskFastMove.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -30,13 +30,10 @@
 #include "TTaskLocalStats.h"
 #include "TFileInfo.h"
 #include <boost\lexical_cast.hpp>
-#include "TCoreException.h"
-#include "ErrorCodes.h"
 #include "TPathContainer.h"
 #include "TScopedRunningTimeTracker.h"
 #include "TFeedbackHandlerWrapper.h"
 #include "TBufferSizes.h"
-#include "TFileException.h"
 #include "TFilesystemFeedbackWrapper.h"
 #include "TDestinationPathProvider.h"
 
Index: src/libchcore/TSubTaskFastMove.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskFastMove.h	(.../TSubTaskFastMove.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskFastMove.h	(.../TSubTaskFastMove.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TSUBTASKFASTMOVE_H__
 #define __TSUBTASKFASTMOVE_H__
 
-#include "libchcore.h"
 #include "TSubTaskBase.h"
 #include "../liblogger/TLogger.h"
 
Index: src/libchcore/TSubTaskScanDirectory.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskScanDirectory.cpp	(.../TSubTaskScanDirectory.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskScanDirectory.cpp	(.../TSubTaskScanDirectory.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -30,13 +30,10 @@
 #include "TTaskLocalStats.h"
 #include "TFileInfoArray.h"
 #include "TFileInfo.h"
-#include "TCoreException.h"
-#include "ErrorCodes.h"
 #include "TPathContainer.h"
 #include "TScopedRunningTimeTracker.h"
 #include "TFeedbackHandlerWrapper.h"
 #include "TBufferSizes.h"
-#include "TFileException.h"
 #include "TFilesystemFeedbackWrapper.h"
 
 namespace chcore
Index: src/libchcore/TSubTaskScanDirectory.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskScanDirectory.h	(.../TSubTaskScanDirectory.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskScanDirectory.h	(.../TSubTaskScanDirectory.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TSUBTASKSCANDIRECTORY_H__
 #define __TSUBTASKSCANDIRECTORY_H__
 
-#include "libchcore.h"
 #include "TSubTaskBase.h"
 #include "TPath.h"
 #include "TBasePathData.h"
Index: src/libchcore/TSubTaskStatsInfo.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskStatsInfo.cpp	(.../TSubTaskStatsInfo.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskStatsInfo.cpp	(.../TSubTaskStatsInfo.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -28,29 +28,30 @@
 #include "ErrorCodes.h"
 #include "SerializerDataTypes.h"
 #include <boost/thread/locks.hpp>
+#include "IColumnsDefinition.h"
 
 namespace chcore
 {
 	///////////////////////////////////////////////////////////////////////////////////
 	// class TSubTaskStatsInfo
 
 	TSubTaskStatsInfo::TSubTaskStatsInfo(ESubOperationType eSubTaskType) :
-		m_eSubOperationType(eSubTaskType),
 		m_bSubTaskIsRunning(m_setModifications, false),
 		m_ullTotalSize(m_setModifications, 0),
 		m_ullProcessedSize(m_setModifications, 0),
+		m_tSizeSpeed(m_setModifications, DefaultSpeedTrackTime, DefaultSpeedSampleTime),
 		m_fcTotalCount(m_setModifications, 0),
 		m_fcProcessedCount(m_setModifications, 0),
-		m_iCurrentBufferIndex(m_setModifications, 0),
-		m_strCurrentPath(m_setModifications),
-		m_tSizeSpeed(m_setModifications, DefaultSpeedTrackTime, DefaultSpeedSampleTime),
 		m_tCountSpeed(m_setModifications, DefaultSpeedTrackTime, DefaultSpeedSampleTime),
+		m_fcCurrentIndex(m_setModifications, 0),
 		m_ullCurrentItemProcessedSize(m_setModifications, 0),
 		m_ullCurrentItemTotalSize(m_setModifications, 0),
+		m_bCurrentItemSilentResume(m_setModifications, false),
 		m_tTimer(m_setModifications),
+		m_iCurrentBufferIndex(m_setModifications, 0),
+		m_strCurrentPath(m_setModifications),
 		m_bIsInitialized(m_setModifications, false),
-		m_fcCurrentIndex(m_setModifications, 0),
-		m_bCurrentItemSilentResume(m_setModifications, false)
+		m_eSubOperationType(eSubTaskType)
 	{
 		m_setModifications[eMod_Added] = true;
 	}
Index: src/libchcore/TSubTaskStatsInfo.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskStatsInfo.h	(.../TSubTaskStatsInfo.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskStatsInfo.h	(.../TSubTaskStatsInfo.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -42,6 +42,7 @@
 
 namespace chcore
 {
+	class IColumnsDefinition;
 	class TSubTaskStatsInfo;
 	class TSubTaskStatsSnapshot;
 
Index: src/libchcore/TSubTaskStatsSnapshot.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskStatsSnapshot.cpp	(.../TSubTaskStatsSnapshot.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskStatsSnapshot.cpp	(.../TSubTaskStatsSnapshot.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -22,7 +22,6 @@
 // ============================================================================
 #include "stdafx.h"
 #include "TSubTaskStatsSnapshot.h"
-#include <boost/numeric/conversion/cast.hpp>
 #include "MathFunctions.h"
 #include "TBufferSizes.h"
 #include "EngineConstants.h"
@@ -35,17 +34,17 @@
 		m_bSubTaskIsRunning(false),
 		m_ullTotalSize(0),
 		m_ullProcessedSize(0),
+		m_dSizeSpeed(0),
 		m_fcTotalCount(0),
 		m_fcProcessedCount(0),
-		m_iCurrentBufferIndex(TBufferSizes::eBuffer_Default),
-		m_strCurrentPath(0),
-		m_timeElapsed(0),
-		m_dSizeSpeed(0),
 		m_dCountSpeed(0),
-		m_ullCurrentItemProcessedSize(0),
 		m_ullCurrentItemTotalSize(0),
+		m_ullCurrentItemProcessedSize(0),
+		m_fcCurrentIndex(0),
 		m_eSubOperationType(eSubOperation_None),
-		m_fcCurrentIndex(0)
+		m_iCurrentBufferIndex(TBufferSizes::eBuffer_Default),
+		m_strCurrentPath(0),
+		m_timeElapsed(0)
 	{
 	}
 
Index: src/libchcore/TSubTaskStatsSnapshot.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TSubTaskStatsSnapshot.h	(.../TSubTaskStatsSnapshot.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TSubTaskStatsSnapshot.h	(.../TSubTaskStatsSnapshot.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TSUBTASKSTATSSNAPSHOT_H__
 #define __TSUBTASKSTATSSNAPSHOT_H__
 
-#include "libchcore.h"
 #include "TString.h"
 #include "ESubTaskTypes.h"
 #include "CommonDataTypes.h"
Index: src/libchcore/TTask.cpp
===================================================================
diff -u -rde48778626a2e3f6a09a43f0211b2a04eba36fed -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTask.cpp	(.../TTask.cpp)	(revision de48778626a2e3f6a09a43f0211b2a04eba36fed)
+++ src/libchcore/TTask.cpp	(.../TTask.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,13 +19,9 @@
 #include "Stdafx.h"
 #include "TTask.h"
 
-#include <fstream>
 #include "TSubTaskScanDirectory.h"
 #include "TSubTaskCopyMove.h"
-#include "TSubTaskDelete.h"
 #include <boost/lexical_cast.hpp>
-#include <atlconv.h>
-#include "TFileInfo.h"
 #include "TSubTaskArray.h"
 #include "TTaskStatsSnapshot.h"
 #include "TCoreException.h"
@@ -49,16 +45,16 @@
 
 	TTask::TTask(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler,
 		const TTaskDefinition& rTaskDefinition, const TSmartPath& rLogPath, const logger::TMultiLoggerConfigPtr& spLoggerConfig) :
-		m_spLog(std::make_unique<logger::TLogger>(logger::TAsyncMultiLogger::GetInstance()->CreateLoggerData(rLogPath.ToString(), spLoggerConfig), L"Task")),
+		m_spSerializer(spSerializer),
 		m_spInternalFeedbackHandler(spFeedbackHandler),
+		m_spLog(std::make_unique<logger::TLogger>(logger::TAsyncMultiLogger::GetInstance()->CreateLoggerData(rLogPath.ToString(), spLoggerConfig), L"Task")),
 		m_spSrcPaths(new TBasePathDataContainer),
-		m_bForce(false),
-		m_bContinue(false),
-		m_tSubTaskContext(m_tConfiguration, m_spSrcPaths, m_afFilters,
-			m_cfgTracker, m_spLog->GetLogFileData(), m_workerThread,
-			std::make_shared<TLocalFilesystem>(m_spLog->GetLogFileData())),
 		m_tSubTasksArray(m_tSubTaskContext),
-		m_spSerializer(spSerializer)
+		m_tSubTaskContext(m_tConfiguration, m_spSrcPaths, m_afFilters,
+		                  m_cfgTracker, m_spLog->GetLogFileData(), m_workerThread,
+		                  std::make_shared<TLocalFilesystem>(m_spLog->GetLogFileData())),
+		m_bForce(false),
+		m_bContinue(false)
 	{
 		if(!spFeedbackHandler)
 			throw TCoreException(eErr_InvalidArgument, L"spFeedbackHandler", LOCATION);
@@ -70,16 +66,16 @@
 	}
 
 	TTask::TTask(const ISerializerPtr& spSerializer, const IFeedbackHandlerPtr& spFeedbackHandler, const TTaskBaseData& rBaseTaskData, const logger::TMultiLoggerConfigPtr& spLoggerConfig) :
-		m_spLog(std::make_unique<logger::TLogger>(logger::TAsyncMultiLogger::GetInstance()->CreateLoggerData(rBaseTaskData.GetLogPath().ToString(), spLoggerConfig), L"Task")),
+		m_spSerializer(spSerializer),
 		m_spInternalFeedbackHandler(spFeedbackHandler),
+		m_spLog(std::make_unique<logger::TLogger>(logger::TAsyncMultiLogger::GetInstance()->CreateLoggerData(rBaseTaskData.GetLogPath().ToString(), spLoggerConfig), L"Task")),
 		m_spSrcPaths(new TBasePathDataContainer),
-		m_bForce(false),
-		m_bContinue(false),
-		m_tSubTaskContext(m_tConfiguration, m_spSrcPaths, m_afFilters,
-			m_cfgTracker, m_spLog->GetLogFileData(), m_workerThread,
-			std::make_shared<TLocalFilesystem>(m_spLog->GetLogFileData())),
 		m_tSubTasksArray(m_tSubTaskContext),
-		m_spSerializer(spSerializer)
+		m_tSubTaskContext(m_tConfiguration, m_spSrcPaths, m_afFilters,
+		                  m_cfgTracker, m_spLog->GetLogFileData(), m_workerThread,
+		                  std::make_shared<TLocalFilesystem>(m_spLog->GetLogFileData())),
+		m_bForce(false),
+		m_bContinue(false)
 	{
 		if(!spFeedbackHandler)
 			throw TCoreException(eErr_InvalidArgument, L"spFeedbackHandler", LOCATION);
Index: src/libchcore/TTask.h
===================================================================
diff -u -rde48778626a2e3f6a09a43f0211b2a04eba36fed -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTask.h	(.../TTask.h)	(revision de48778626a2e3f6a09a43f0211b2a04eba36fed)
+++ src/libchcore/TTask.h	(.../TTask.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TASK_H__
 #define __TASK_H__
 
-#include "libchcore.h"
 #include "TWorkerThreadController.h"
 #include "IFeedbackHandler.h"
 #include "TTaskDefinition.h"
Index: src/libchcore/TTaskBaseData.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskBaseData.h	(.../TTaskBaseData.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskBaseData.h	(.../TTaskBaseData.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TTASKBASEDATA_H__
 #define __TTASKBASEDATA_H__
 
-#include "libchcore.h"
 #include "ISerializerRowData.h"
 #include <bitset>
 #include "TSharedModificationTracker.h"
Index: src/libchcore/TTaskConfigBufferSizes.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskConfigBufferSizes.cpp	(.../TTaskConfigBufferSizes.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskConfigBufferSizes.cpp	(.../TTaskConfigBufferSizes.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -18,6 +18,7 @@
 // ============================================================================
 #include "stdafx.h"
 #include "TTaskConfigBufferSizes.h"
+#include "TTaskConfiguration.h"
 
 namespace chcore
 {
Index: src/libchcore/TTaskConfigBufferSizes.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskConfigBufferSizes.h	(.../TTaskConfigBufferSizes.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskConfigBufferSizes.h	(.../TTaskConfigBufferSizes.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,10 +19,8 @@
 #ifndef __TTASKCONFIGBUFFERSIZES_H__
 #define __TTASKCONFIGBUFFERSIZES_H__
 
-#include "libchcore.h"
 #include "TBufferSizes.h"
 #include "TConfig.h"
-#include "TTaskConfiguration.h"
 
 namespace chcore
 {
Index: src/libchcore/TTaskConfigTracker.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskConfigTracker.h	(.../TTaskConfigTracker.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskConfigTracker.h	(.../TTaskConfigTracker.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TCONFIGTRACKER_H__
 #define __TCONFIGTRACKER_H__
 
-#include "libchcore.h"
 #include "TTaskConfiguration.h"
 
 namespace chcore
Index: src/libchcore/TTaskDefinition.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskDefinition.cpp	(.../TTaskDefinition.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskDefinition.cpp	(.../TTaskDefinition.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -21,7 +21,6 @@
 /// @brief Contains implementation of class representing task input data.
 // ============================================================================
 #include "stdafx.h"
-#include "..\common\version.h"
 #include <boost/uuid/uuid.hpp>
 #include <boost/uuid/uuid_io.hpp>
 #include <boost/uuid/random_generator.hpp>
@@ -35,9 +34,9 @@
 namespace chcore
 {
 	TTaskDefinition::TTaskDefinition() :
-		m_bModified(false),
 		m_strTaskName(),
-		m_ullTaskVersion(CURRENT_TASK_VERSION)
+		m_ullTaskVersion(CURRENT_TASK_VERSION),
+		m_bModified(false)
 	{
 		boost::uuids::random_generator gen;
 		boost::uuids::uuid u = gen();
@@ -47,8 +46,8 @@
 	TTaskDefinition::TTaskDefinition(const TTaskDefinition& rSrc) :
 		m_strTaskName(rSrc.m_strTaskName),
 		m_vSourcePaths(rSrc.m_vSourcePaths),
-		m_afFilters(rSrc.m_afFilters),
 		m_pathDestinationPath(rSrc.m_pathDestinationPath),
+		m_afFilters(rSrc.m_afFilters),
 		m_tOperationPlan(rSrc.m_tOperationPlan),
 		m_ullTaskVersion(rSrc.m_ullTaskVersion),
 		m_tConfiguration(rSrc.m_tConfiguration),
Index: src/libchcore/TTaskInfo.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskInfo.cpp	(.../TTaskInfo.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskInfo.cpp	(.../TTaskInfo.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -25,9 +25,9 @@
 namespace chcore
 {
 	TTaskInfoEntry::TTaskInfoEntry() :
-		m_iOrder(m_setModifications, 0),
+		m_oidObjectID(0),
 		m_pathSerializeLocation(m_setModifications),
-		m_oidObjectID(0)
+		m_iOrder(m_setModifications, 0)
 	{
 		m_setModifications[eMod_Added] = true;
 	}
@@ -43,10 +43,10 @@
 
 	TTaskInfoEntry::TTaskInfoEntry(const TTaskInfoEntry& rSrc) :
 		m_oidObjectID(rSrc.m_oidObjectID),
+		m_setModifications(rSrc.m_setModifications),
 		m_pathSerializeLocation(m_setModifications, rSrc.m_pathSerializeLocation),
 		m_iOrder(m_setModifications, rSrc.m_iOrder),
-		m_spTask(rSrc.m_spTask),
-		m_setModifications(rSrc.m_setModifications)
+		m_spTask(rSrc.m_spTask)
 	{
 	}
 
Index: src/libchcore/TTaskInfo.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskInfo.h	(.../TTaskInfo.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskInfo.h	(.../TTaskInfo.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TTASKINFO_H__
 #define __TTASKINFO_H__
 
-#include "libchcore.h"
 #include "TPath.h"
 #include "TaskID.h"
 #include "ISerializerContainer.h"
Index: src/libchcore/TTaskLocalStats.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskLocalStats.cpp	(.../TTaskLocalStats.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskLocalStats.cpp	(.../TTaskLocalStats.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #include "stdafx.h"
 #include "TTaskLocalStats.h"
 #include "TSubTaskStatsInfo.h"
-#include <boost\numeric\conversion\cast.hpp>
 #include "TTaskStatsSnapshot.h"
 #include "ISerializerContainer.h"
 #include "ISerializerRowData.h"
@@ -34,8 +33,8 @@
 	////////////////////////////////////////////////////////////////////////////////
 	// TTasksGlobalStats members
 	TTaskLocalStatsInfo::TTaskLocalStatsInfo() :
-		m_tTimer(m_setModifications),
-		m_bTaskIsRunning(false)
+		m_bTaskIsRunning(false),
+		m_tTimer(m_setModifications)
 	{
 		m_setModifications[eMod_Added] = true;
 	}
Index: src/libchcore/TTaskManager.cpp
===================================================================
diff -u -rde48778626a2e3f6a09a43f0211b2a04eba36fed -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskManager.cpp	(.../TTaskManager.cpp)	(revision de48778626a2e3f6a09a43f0211b2a04eba36fed)
+++ src/libchcore/TTaskManager.cpp	(.../TTaskManager.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -38,9 +38,9 @@
 		const TSmartPath& pathLogDir,
 		const logger::TMultiLoggerConfigPtr& spMultiLoggerConfig,
 		bool bForceRecreateSerializer) :
-		m_spSerializerFactory(spSerializerFactory),
-		m_spFeedbackFactory(spFeedbackHandlerFactory),
 		m_pathLogDir(pathLogDir),
+		m_spFeedbackFactory(spFeedbackHandlerFactory),
+		m_spSerializerFactory(spSerializerFactory),
 		m_spMultiLoggerConfig(spMultiLoggerConfig)
 	{
 		if(!spFeedbackHandlerFactory)
Index: src/libchcore/TTaskManager.h
===================================================================
diff -u -rde48778626a2e3f6a09a43f0211b2a04eba36fed -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskManager.h	(.../TTaskManager.h)	(revision de48778626a2e3f6a09a43f0211b2a04eba36fed)
+++ src/libchcore/TTaskManager.h	(.../TTaskManager.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TASKMANAGER_H__
 #define __TASKMANAGER_H__
 
-#include "libchcore.h"
 #include "IFeedbackHandlerFactory.h"
 #include "TPath.h"
 #include "TTaskManagerStatsSnapshot.h"
Index: src/libchcore/TTaskManagerStatsSnapshot.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskManagerStatsSnapshot.cpp	(.../TTaskManagerStatsSnapshot.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskManagerStatsSnapshot.cpp	(.../TTaskManagerStatsSnapshot.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -39,9 +39,9 @@
 		m_ullTotalSize(0),
 		m_dCountSpeed(0.0),
 		m_dSizeSpeed(0.0),
-		m_dCombinedProgress(0.0),
 		m_dAvgCountSpeed(0.0),
-		m_dAvgSizeSpeed(0.0)
+		m_dAvgSizeSpeed(0.0),
+		m_dCombinedProgress(0.0)
 	{
 	}
 
Index: src/libchcore/TTaskManagerStatsSnapshot.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskManagerStatsSnapshot.h	(.../TTaskManagerStatsSnapshot.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskManagerStatsSnapshot.h	(.../TTaskManagerStatsSnapshot.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TTASKMANAGERSTATSSNAPSHOT_H__
 #define __TTASKMANAGERSTATSSNAPSHOT_H__
 
-#include "libchcore.h"
 #include "TTaskStatsSnapshot.h"
 
 namespace chcore
Index: src/libchcore/TTaskOperationPlan.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskOperationPlan.cpp	(.../TTaskOperationPlan.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskOperationPlan.cpp	(.../TTaskOperationPlan.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -22,8 +22,6 @@
 // ============================================================================
 #include "stdafx.h"
 #include "TTaskOperationPlan.h"
-#include "TCoreException.h"
-#include "ErrorCodes.h"
 #include <boost/thread/locks.hpp>
 
 namespace chcore
Index: src/libchcore/TTaskStatsSnapshot.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskStatsSnapshot.cpp	(.../TTaskStatsSnapshot.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskStatsSnapshot.cpp	(.../TTaskStatsSnapshot.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -32,6 +32,7 @@
 
 	TTaskStatsSnapshot::TTaskStatsSnapshot() :
 		m_tSubTasksStats(),
+		m_tTaskID(0),
 		m_bTaskIsRunning(false),
 		m_ullTimeElapsed(0),
 		m_iThreadPriority(0),
@@ -43,16 +44,15 @@
 		m_bIgnoreDirectories(false),
 		m_bCreateEmptyFiles(false),
 		m_ullCurrentBufferSize(0),
+		m_uiBufferCount(0),
 		m_bCacheFilled(false),
 		m_ullProcessedCount(0),
 		m_ullTotalCount(0),
 		m_ullProcessedSize(0),
 		m_ullTotalSize(0),
 		m_dTaskCountSpeed(0.0),
 		m_dTaskSizeSpeed(0.0),
-		m_dCombinedProgress(0.0),
-		m_uiBufferCount(0),
-		m_tTaskID(0)
+		m_dCombinedProgress(0.0)
 	{
 	}
 
Index: src/libchcore/TTaskStatsSnapshot.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTaskStatsSnapshot.h	(.../TTaskStatsSnapshot.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTaskStatsSnapshot.h	(.../TTaskStatsSnapshot.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -23,7 +23,6 @@
 #ifndef __TTASKSTATSSNAPSHOT_H__
 #define __TTASKSTATSSNAPSHOT_H__
 
-#include "libchcore.h"
 #include "TSubTaskStatsInfo.h"
 #include "TSubTaskArrayStatsSnapshot.h"
 #include "TFileFiltersArray.h"
Index: src/libchcore/TTimestampProviderTickCount.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TTimestampProviderTickCount.cpp	(.../TTimestampProviderTickCount.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TTimestampProviderTickCount.cpp	(.../TTimestampProviderTickCount.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -22,8 +22,8 @@
 namespace chcore
 {
 	TTimestampProviderTickCount::TTimestampProviderTickCount() :
-		m_dwLastTimestamp(0),
-		m_ullTimestampAdjustment(0)
+		m_ullTimestampAdjustment(0),
+		m_dwLastTimestamp(0)
 	{
 	}
 
Index: src/libchcore/TWin32ErrorFormatter.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/TWin32ErrorFormatter.h	(.../TWin32ErrorFormatter.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/TWin32ErrorFormatter.h	(.../TWin32ErrorFormatter.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TWIN32ERRORFORMATTER_H__
 #define __TWIN32ERRORFORMATTER_H__
 
-#include "libchcore.h"
 #include "TString.h"
 
 namespace chcore
Fisheye: Tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f refers to a dead (removed) revision in file `src/libchcore/Tests/OverlappedCallbacksTests.cpp'.
Fisheye: No comparison available.  Pass `N' to diff?
Index: src/libchcore/Tests/TOverlappedDataBufferTests.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/Tests/TOverlappedDataBufferTests.cpp	(.../TOverlappedDataBufferTests.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/libchcore/Tests/TOverlappedDataBufferTests.cpp	(.../TOverlappedDataBufferTests.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -2,7 +2,6 @@
 #include "gtest/gtest.h"
 #include "gmock/gmock.h"
 #include "../TOverlappedDataBuffer.h"
-#include "../../liblogger/TLogFileData.h"
 #include "../TCoreException.h"
 
 using namespace chcore;
Fisheye: Tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f refers to a dead (removed) revision in file `src/libchcore/Tests/TOverlappedReaderWriterTests.cpp'.
Fisheye: No comparison available.  Pass `N' to diff?
Fisheye: Tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f refers to a dead (removed) revision in file `src/libchcore/libchcore.cpp'.
Fisheye: No comparison available.  Pass `N' to diff?
Index: src/libchcore/libchcore.vc140.vcxproj
===================================================================
diff -u -rcb1a7688ad1ac1081a219c170754776e986ccc8c -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/libchcore.vc140.vcxproj	(.../libchcore.vc140.vcxproj)	(revision cb1a7688ad1ac1081a219c170754776e986ccc8c)
+++ src/libchcore/libchcore.vc140.vcxproj	(.../libchcore.vc140.vcxproj)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -661,12 +661,6 @@
     <ClCompile Include="TCoreStdException.cpp" />
     <ClCompile Include="TCoreWin32Exception.cpp" />
     <ClCompile Include="TDestinationPathProvider.cpp" />
-    <ClCompile Include="Tests\OverlappedCallbacksTests.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="Tests\TBufferListTests.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -793,12 +787,6 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </ClCompile>
-    <ClCompile Include="Tests\TOverlappedReaderWriterTests.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="Tests\TOverlappedDataBufferTests.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
@@ -948,7 +936,6 @@
       <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
       <CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Testing Release|x64'">false</CompileAsManaged>
     </ClCompile>
-    <ClCompile Include="libchcore.cpp" />
     <ClCompile Include="stdafx.cpp">
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Testing Debug|Win32'">Create</PrecompiledHeader>
Index: src/libchcore/libchcore.vc140.vcxproj.filters
===================================================================
diff -u -rcb1a7688ad1ac1081a219c170754776e986ccc8c -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libchcore/libchcore.vc140.vcxproj.filters	(.../libchcore.vc140.vcxproj.filters)	(revision cb1a7688ad1ac1081a219c170754776e986ccc8c)
+++ src/libchcore/libchcore.vc140.vcxproj.filters	(.../libchcore.vc140.vcxproj.filters)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -629,9 +629,6 @@
     <ClCompile Include="dllmain.cpp">
       <Filter>Source Files\Library files</Filter>
     </ClCompile>
-    <ClCompile Include="libchcore.cpp">
-      <Filter>Source Files\Library files</Filter>
-    </ClCompile>
     <ClCompile Include="stdafx.cpp">
       <Filter>Source Files\Library files</Filter>
     </ClCompile>
@@ -923,9 +920,6 @@
     <ClCompile Include="TCoreEngine.cpp">
       <Filter>Source Files\Library files</Filter>
     </ClCompile>
-    <ClCompile Include="Tests\TOverlappedReaderWriterTests.cpp">
-      <Filter>Tests\DataBuffer</Filter>
-    </ClCompile>
     <ClCompile Include="Tests\TOverlappedDataBufferTests.cpp">
       <Filter>Tests\DataBuffer</Filter>
     </ClCompile>
@@ -938,9 +932,6 @@
     <ClCompile Include="Tests\TOverlappedMemoryPoolTests.cpp">
       <Filter>Tests\DataBuffer</Filter>
     </ClCompile>
-    <ClCompile Include="Tests\OverlappedCallbacksTests.cpp">
-      <Filter>Tests\DataBuffer</Filter>
-    </ClCompile>
     <ClCompile Include="Tests\TOrderedBufferQueueTests.cpp">
       <Filter>Tests\DataBuffer</Filter>
     </ClCompile>
Index: src/libictranslate/ResourceManager.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libictranslate/ResourceManager.cpp	(.../ResourceManager.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libictranslate/ResourceManager.cpp	(.../ResourceManager.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -360,12 +360,12 @@
 	m_pszFilename(nullptr),
 	m_pszLngName(nullptr),
 	m_pszFontFace(nullptr),
+	m_wPointSize(ld.m_wPointSize),
 	m_pszHelpName(nullptr),
 	m_pszAuthor(nullptr),
 	m_bRTL(ld.m_bRTL),
-	m_bUpdating(ld.m_bUpdating),
 	m_uiSectionID(ld.m_uiSectionID),
-	m_wPointSize(ld.m_wPointSize),
+	m_bUpdating(ld.m_bUpdating),
 	m_bModified(false)
 {
 	SetFilename(ld.GetFilename(true));
@@ -848,8 +848,8 @@
 }
 
 CResourceManager::CResourceManager() :
-	m_pfnCallback(nullptr),
-	m_hRes(nullptr)
+	m_hRes(nullptr),
+	m_pfnCallback(nullptr)
 {
 	InitializeCriticalSection(&m_cs);
 }
Index: src/libictranslate/dllmain.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/libictranslate/dllmain.cpp	(.../dllmain.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libictranslate/dllmain.cpp	(.../dllmain.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -21,7 +21,6 @@
 
 #include "stdafx.h"
 #include <afxwin.h>
-#include <afxdllx.h>
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
Index: src/liblogger/TAsyncMultiLogger.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/liblogger/TAsyncMultiLogger.h	(.../TAsyncMultiLogger.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/liblogger/TAsyncMultiLogger.h	(.../TAsyncMultiLogger.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -21,7 +21,6 @@
 
 #include "TLogFileData.h"
 #include <unordered_set>
-#include <thread>
 #include "TLoggerRotationInfo.h"
 #include "liblogger.h"
 
Index: src/liblogger/TLogFile.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/liblogger/TLogFile.h	(.../TLogFile.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/liblogger/TLogFile.h	(.../TLogFile.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -19,7 +19,6 @@
 #ifndef __TLOGFILE_H__
 #define __TLOGFILE_H__
 
-#include <set>
 #include "TLoggerRotationInfo.h"
 #include <vector>
 #include <list>
Index: src/liblogger/TLogger.h
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/liblogger/TLogger.h	(.../TLogger.h)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/liblogger/TLogger.h	(.../TLogger.h)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -46,8 +46,8 @@
 	};
 
 	inline TLogger::TLogger(const TLogFileDataPtr& spFileData, PCTSTR pszChannel) :
-		m_spFileData(spFileData),
 		m_spLoggerConfig(spFileData->GetMultiLoggerConfig()->GetLoggerConfig(pszChannel)),
+		m_spFileData(spFileData),
 		m_strChannel(pszChannel)
 	{
 		if(!spFileData)
Fisheye: Tag d9527df01ee91b35d9a5fdccb80ded25a9c8265f refers to a dead (removed) revision in file `src/liblogger/liblogger.cpp'.
Fisheye: No comparison available.  Pass `N' to diff?
Index: src/liblogger/liblogger.vc140.vcxproj
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/liblogger/liblogger.vc140.vcxproj	(.../liblogger.vc140.vcxproj)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/liblogger/liblogger.vc140.vcxproj	(.../liblogger.vc140.vcxproj)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -493,7 +493,6 @@
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Testing Debug|x64'">NotUsing</PrecompiledHeader>
     </ClCompile>
     <ClCompile Include="dllmain.cpp" />
-    <ClCompile Include="liblogger.cpp" />
     <ClCompile Include="stdafx.cpp">
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Testing Debug|Win32'">Create</PrecompiledHeader>
Index: src/liblogger/liblogger.vc140.vcxproj.filters
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- src/liblogger/liblogger.vc140.vcxproj.filters	(.../liblogger.vc140.vcxproj.filters)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ src/liblogger/liblogger.vc140.vcxproj.filters	(.../liblogger.vc140.vcxproj.filters)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -77,9 +77,6 @@
     <ClCompile Include="TLoggerRotationInfo.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="liblogger.cpp">
-      <Filter>Source Files\Library files</Filter>
-    </ClCompile>
     <ClCompile Include="dllmain.cpp">
       <Filter>Source Files\Library files</Filter>
     </ClCompile>
Index: tests/tests_shared/TestsExports.cpp
===================================================================
diff -u -ra4635addad389b9e117679437a3e1b64a739ea96 -rd9527df01ee91b35d9a5fdccb80ded25a9c8265f
--- tests/tests_shared/TestsExports.cpp	(.../TestsExports.cpp)	(revision a4635addad389b9e117679437a3e1b64a739ea96)
+++ tests/tests_shared/TestsExports.cpp	(.../TestsExports.cpp)	(revision d9527df01ee91b35d9a5fdccb80ded25a9c8265f)
@@ -1,11 +1,11 @@
+#ifdef TESTING
+
 #include "gtest/gtest.h"
 #include "gmock/gmock.h"
 #include <tchar.h>
 #include <boost/format.hpp>
 #include <boost/algorithm/string/replace.hpp>
 
-#ifdef TESTING
-
 class TFailedOutputPrinter : public ::testing::EmptyTestEventListener
 {
 	virtual void OnTestStart(const ::testing::TestInfo& test_info)