OSDN Git Service

Merge with stable
authorsdottaka <sdottaka@users.sourceforge.net>
Sun, 10 May 2015 13:43:27 +0000 (22:43 +0900)
committersdottaka <sdottaka@users.sourceforge.net>
Sun, 10 May 2015 13:43:27 +0000 (22:43 +0900)
13 files changed:
1  2 
Src/DirView.cpp
Src/DirView.h
Src/DirViewColHandler.cpp
Src/LocationView.cpp
Src/MainFrm.cpp
Src/MainFrm.h
Src/Merge.vcxproj
Src/Merge.vcxproj.filters
Src/MergeCmdLineInfo.cpp
Src/MergeDoc.cpp
Src/MergeEditView.cpp
Src/OptionsDef.cpp
Src/OptionsDef.h

diff --cc Src/DirView.cpp
@@@ -110,6 -140,12 +110,7 @@@ CDirView::CDirView(
                , m_pCmpProgressBar(nullptr)
                , m_compareStart(0)
                , m_bTreeMode(false)
 -              , m_bShowDifferent(true)
 -              , m_bShowIdentical(true)
 -              , m_bShowUniqueLeft(true)
 -              , m_bShowUniqueRight(true)
 -              , m_bShowBinaries(true)
 -              , m_bShowSkipped(true)
++              , m_dirfilter(boost::bind(&COptionsMgr::GetBool, GetOptionsMgr(), _1))
                , m_pShellContextMenuLeft(nullptr)
                , m_pShellContextMenuMiddle(nullptr)
                , m_pShellContextMenuRight(nullptr)
@@@ -436,10 -642,10 +449,10 @@@ void CDirView::ReloadColumns(
   * @param [in,out] index Index of the item to be inserted.
   * @param [in,out] alldiffs Number of different items
   */
- void CDirView::RedisplayChildren(uintptr_t diffpos, int level, UINT &index, int &alldiffs, const DirViewFilterSettings& dirfilter)
+ void CDirView::RedisplayChildren(uintptr_t diffpos, int level, UINT &index, int &alldiffs)
  {
        CDirDoc *pDoc = GetDocument();
 -      const CDiffContext &ctxt = pDoc->GetDiffContext();
 +      const CDiffContext &ctxt = GetDiffContext();
        while (diffpos)
        {
                uintptr_t curdiffpos = diffpos;
                if (di.diffcode.isResultDiff() || (!di.diffcode.existAll(pDoc->m_nDirs) && !di.diffcode.isResultFiltered()))
                        ++alldiffs;
  
-               bool bShowable = IsShowable(ctxt, di, dirfilter);
 -              bool bShowable = IsShowable(di);
++              bool bShowable = IsShowable(ctxt, di, m_dirfilter);
                if (bShowable)
                {
                        if (m_bTreeMode)
@@@ -506,10 -712,9 +519,9 @@@ void CDirView::Redisplay(
  
        int alldiffs = 0;
        uintptr_t diffpos = ctxt.GetFirstDiffPosition();
-       DirViewFilterSettings dirfilter(boost::bind(&COptionsMgr::GetBool, GetOptionsMgr(), _1));
-       RedisplayChildren(diffpos, 0, cnt, alldiffs, dirfilter);
+       RedisplayChildren(diffpos, 0, cnt, alldiffs);
        if (pDoc->m_diffThread.GetThreadState() == CDiffThread::THREAD_COMPLETED)
 -              GetParentFrame()->SetLastCompareResult(alldiffs);
 +              theApp.SetLastCompareResult(alldiffs);
        SortColumnsAppropriately();
        SetRedraw(TRUE);
  }
@@@ -2299,10 -3271,7 +2304,7 @@@ void CDirView::OnUpdateCtxtOpenWithUnpa
                int sel = -1;
                sel = m_pList->GetNextItem(sel, LVNI_SELECTED);
                const DIFFITEM& di = GetDiffItem(sel);
-               if (IsItemDeletableOnBoth(GetDiffContext(), di))
-                       pCmdUI->Enable(TRUE);
-               else
-                       pCmdUI->Enable(FALSE);
 -              pCmdUI->Enable(IsItemDeletableOnBoth(di));
++              pCmdUI->Enable(IsItemDeletableOnBoth(GetDiffContext(), di));
        }
  }
  
@@@ -3010,9 -4155,99 +3012,99 @@@ void CDirView::OnViewCollapseAllSubdirs
   */
  void CDirView::OnUpdateViewCollapseAllSubdirs(CCmdUI* pCmdUI)
  {
 -      pCmdUI->Enable(m_bTreeMode && GetDocument()->GetRecursive());
 +      pCmdUI->Enable(m_bTreeMode && GetDiffContext().m_bRecursive);
  }
  
 -      m_bShowDifferent = !m_bShowDifferent;
 -      GetOptionsMgr()->SaveOption(OPT_SHOW_DIFFERENT, m_bShowDifferent);
+ /**
+  * @brief Show/Hide different files/directories
+  */
+ void CDirView::OnOptionsShowDifferent() 
+ {
 -      m_bShowIdentical = !m_bShowIdentical;
 -      GetOptionsMgr()->SaveOption(OPT_SHOW_IDENTICAL, m_bShowIdentical);
++      m_dirfilter.show_different = !m_dirfilter.show_different;
++      GetOptionsMgr()->SaveOption(OPT_SHOW_DIFFERENT, m_dirfilter.show_different);
+       Redisplay();
+ }
+ /**
+  * @brief Show/Hide identical files/directories
+  */
+ void CDirView::OnOptionsShowIdentical() 
+ {
 -      m_bShowUniqueLeft = !m_bShowUniqueLeft;
 -      GetOptionsMgr()->SaveOption(OPT_SHOW_UNIQUE_LEFT, m_bShowUniqueLeft);
++      m_dirfilter.show_identical = !m_dirfilter.show_identical;
++      GetOptionsMgr()->SaveOption(OPT_SHOW_IDENTICAL, m_dirfilter.show_identical);
+       Redisplay();
+ }
+ /**
+  * @brief Show/Hide left-only files/directories
+  */
+ void CDirView::OnOptionsShowUniqueLeft() 
+ {
 -      m_bShowUniqueRight = !m_bShowUniqueRight;
 -      GetOptionsMgr()->SaveOption(OPT_SHOW_UNIQUE_RIGHT, m_bShowUniqueRight);
++      m_dirfilter.show_unique_left = !m_dirfilter.show_unique_left;
++      GetOptionsMgr()->SaveOption(OPT_SHOW_UNIQUE_LEFT, m_dirfilter.show_unique_left);
+       Redisplay();
+ }
+ /**
+  * @brief Show/Hide right-only files/directories
+  */
+ void CDirView::OnOptionsShowUniqueRight() 
+ {
 -      m_bShowBinaries = !m_bShowBinaries;
 -      GetOptionsMgr()->SaveOption(OPT_SHOW_BINARIES, m_bShowBinaries);
++      m_dirfilter.show_unique_right = !m_dirfilter.show_unique_right;
++      GetOptionsMgr()->SaveOption(OPT_SHOW_UNIQUE_RIGHT, m_dirfilter.show_unique_right);
+       Redisplay();
+ }
+ /**
+  * @brief Show/Hide binary files
+  */
+ void CDirView::OnOptionsShowBinaries()
+ {
 -      m_bShowSkipped = !m_bShowSkipped;
 -      GetOptionsMgr()->SaveOption(OPT_SHOW_SKIPPED, m_bShowSkipped);
++      m_dirfilter.show_binaries = !m_dirfilter.show_binaries;
++      GetOptionsMgr()->SaveOption(OPT_SHOW_BINARIES, m_dirfilter.show_binaries);
+       Redisplay();
+ }
+ /**
+  * @brief Show/Hide skipped files/directories
+  */
+ void CDirView::OnOptionsShowSkipped()
+ {
 -      pCmdUI->SetCheck(m_bShowDifferent);
++      m_dirfilter.show_skipped = !m_dirfilter.show_skipped;
++      GetOptionsMgr()->SaveOption(OPT_SHOW_SKIPPED, m_dirfilter.show_skipped);
+       Redisplay();
+ }
+ void CDirView::OnUpdateOptionsShowdifferent(CCmdUI* pCmdUI) 
+ {
 -      pCmdUI->SetCheck(m_bShowIdentical);
++      pCmdUI->SetCheck(m_dirfilter.show_different);
+ }
+ void CDirView::OnUpdateOptionsShowidentical(CCmdUI* pCmdUI) 
+ {
 -      pCmdUI->SetCheck(m_bShowUniqueLeft);
++      pCmdUI->SetCheck(m_dirfilter.show_identical);
+ }
+ void CDirView::OnUpdateOptionsShowuniqueleft(CCmdUI* pCmdUI) 
+ {
 -      pCmdUI->SetCheck(m_bShowUniqueRight);
++      pCmdUI->SetCheck(m_dirfilter.show_unique_left);
+ }
+ void CDirView::OnUpdateOptionsShowuniqueright(CCmdUI* pCmdUI) 
+ {
 -      pCmdUI->SetCheck(m_bShowBinaries);
++      pCmdUI->SetCheck(m_dirfilter.show_unique_right);
+ }
+ void CDirView::OnUpdateOptionsShowBinaries(CCmdUI* pCmdUI) 
+ {
 -      pCmdUI->SetCheck(m_bShowSkipped);
++      pCmdUI->SetCheck(m_dirfilter.show_binaries);
+ }
+ void CDirView::OnUpdateOptionsShowSkipped(CCmdUI* pCmdUI)
+ {
++      pCmdUI->SetCheck(m_dirfilter.show_skipped);
+ }
  void CDirView::OnMergeCompare()
  {
        CWaitCursor waitstatus;
diff --cc Src/DirView.h
@@@ -96,8 -107,9 +96,8 @@@ public
        CDirFrame * GetParentFrame();
  
        void StartCompare(CompareStats *pCompareStats);
 -      bool IsShowable(const DIFFITEM & di) const;
        void Redisplay();
-       void RedisplayChildren(uintptr_t diffpos, int level, UINT &index, int &alldiffs, const DirViewFilterSettings& dirfilter);
+       void RedisplayChildren(uintptr_t diffpos, int level, UINT &index, int &alldiffs);
        void UpdateResources();
        void LoadColumnHeaderItems();
        uintptr_t GetItemKey(int idx) const;
@@@ -204,6 -283,12 +204,7 @@@ protected
        CFont m_font; /**< User-selected font */
        UINT m_nHiddenItems; /**< Count of items we have hidden */
        bool m_bTreeMode; /**< TRUE if tree mode is on*/
 -      bool m_bShowDifferent;
 -      bool m_bShowIdentical;
 -      bool m_bShowUniqueLeft;
 -      bool m_bShowUniqueRight;
 -      bool m_bShowBinaries;
 -      bool m_bShowSkipped;
++      DirViewFilterSettings m_dirfilter;
        std::unique_ptr<DirCompProgressBar> m_pCmpProgressBar;
        clock_t m_compareStart; /**< Starting process time of the compare */
        bool m_bUserCancelEdit; /**< TRUE if the user cancels rename */
        afx_msg void OnUpdateViewExpandAllSubdirs(CCmdUI* pCmdUI);
        afx_msg void OnViewCollapseAllSubdirs();
        afx_msg void OnUpdateViewCollapseAllSubdirs(CCmdUI* pCmdUI);
+       afx_msg void OnOptionsShowDifferent();
+       afx_msg void OnOptionsShowIdentical();
+       afx_msg void OnOptionsShowUniqueLeft();
+       afx_msg void OnOptionsShowUniqueRight();
+       afx_msg void OnOptionsShowBinaries();
+       afx_msg void OnOptionsShowSkipped();
+       afx_msg void OnUpdateOptionsShowdifferent(CCmdUI* pCmdUI);
+       afx_msg void OnUpdateOptionsShowidentical(CCmdUI* pCmdUI);
+       afx_msg void OnUpdateOptionsShowuniqueleft(CCmdUI* pCmdUI);
+       afx_msg void OnUpdateOptionsShowuniqueright(CCmdUI* pCmdUI);
+       afx_msg void OnUpdateOptionsShowBinaries(CCmdUI* pCmdUI);
+       afx_msg void OnUpdateOptionsShowSkipped(CCmdUI* pCmdUI);
        afx_msg void OnMergeCompare();
 -      afx_msg void OnMergeCompareLeft1Left2();
 -      afx_msg void OnMergeCompareRight1Right2();
 -      afx_msg void OnMergeCompareLeft1Right2();
 -      afx_msg void OnMergeCompareLeft2Right1();
 +      template<SELECTIONTYPE seltype>
 +      afx_msg void OnMergeCompare2();
        afx_msg void OnMergeCompareXML();
        afx_msg void OnMergeCompareHex();
        afx_msg void OnUpdateMergeCompare(CCmdUI *pCmdUI);
diff --cc Src/DirViewColHandler.cpp
index 8986613,8986613..0000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,524 -1,524 +1,0 @@@
--/** 
-- * @file  DirViewColHandler.cpp
-- *
-- * @brief Methods of CDirView dealing with the listview (of file results)
-- *
-- * @date  Created: 2003-08-19
-- */
--
--
--#include "StdAfx.h"
--#include "DirView.h"
--#include "Merge.h"
--#include "DirDoc.h"
--#include "resource.h"
--#include "coretools.h"
--#include "DirViewColItems.h"
--#include "DirColsDlg.h"
--#include "OptionsDef.h"
--#include "OptionsMgr.h"
--
--#ifdef _DEBUG
--#define new DEBUG_NEW
--#undef THIS_FILE
--static char THIS_FILE[] = __FILE__;
--#endif
--
--/////////////////////////////////////////////////////////////////////////////
--
--
--/**
-- * @brief Get text for specified column.
-- * This function retrieves the text for the specified colum. Text is
-- * retrieved by using column-specific handler functions.
-- * @param [in] pCtxt Compare context.
-- * @param [in] col Column number.
-- * @param [in] di Difference data.
-- * @return Text for the specified column.
-- */
--String CDirView::ColGetTextToDisplay(const CDiffContext *pCtxt, int col,
--              const DIFFITEM & di)
--{
--      // Custom properties have custom get functions
--      const DirColInfo * pColInfo = DirViewColItems_GetDirColInfo(col);
--      if (!pColInfo)
--      {
--              ASSERT(0); // fix caller, should not ask for nonexistent columns
--              return _T("???");
--      }
--      ColGetFncPtrType fnc = pColInfo->getfnc;
--      SIZE_T offset = pColInfo->offset;
--      return (*fnc)(pCtxt, reinterpret_cast<const char *>(&di) + offset);
--}
--
--/**
-- * @brief Sort two items on specified column.
-- * This function determines order of two items in specified column. Order
-- * is determined by column-specific functions.
-- * @param [in] pCtxt Compare context.
-- * @param [in] col Column number to sort.
-- * @param [in] ldi Left difference item data.
-- * @param [in] rdi Right difference item data.
-- * @return Order of items.
-- */
--int CDirView::ColSort(const CDiffContext *pCtxt, int col, const DIFFITEM & ldi,
--              const DIFFITEM & rdi) const
--{
--      // Custom properties have custom sort functions
--      const DirColInfo * pColInfo = DirViewColItems_GetDirColInfo(col);
--      if (!pColInfo)
--      {
--              ASSERT(0); // fix caller, should not ask for nonexistent columns
--              return 0;
--      }
--      SIZE_T offset = pColInfo->offset;
--      const void * arg1;
--      const void * arg2;
--      if (m_bTreeMode)
--      {
--              int lLevel = ldi.GetDepth();
--              int rLevel = rdi.GetDepth();
--              const DIFFITEM *lcur = &ldi, *rcur = &rdi;
--              if (lLevel < rLevel)
--              {
--                      for (; lLevel != rLevel; rLevel--)
--                              rcur = rcur->parent;
--              }
--              else if (rLevel < lLevel)
--              {
--                      for (; lLevel != rLevel; lLevel--)
--                              lcur = lcur->parent;
--              }
--              while (lcur->parent != rcur->parent)
--              {
--                      lcur = lcur->parent;
--                      rcur = rcur->parent;
--              }
--              arg1 = reinterpret_cast<const char *>(lcur) + offset;
--              arg2 = reinterpret_cast<const char *>(rcur) + offset;
--      }
--      else
--      {
--              arg1 = reinterpret_cast<const char *>(&ldi) + offset;
--              arg2 = reinterpret_cast<const char *>(&rdi) + offset;
--      }
--      if (ColSortFncPtrType fnc = pColInfo->sortfnc)
--      {
--              return (*fnc)(pCtxt, arg1, arg2);
--      }
--      if (ColGetFncPtrType fnc = pColInfo->getfnc)
--      {
--              String p = (*fnc)(pCtxt, arg1);
--              String q = (*fnc)(pCtxt, arg2);
--              return string_compare_nocase(p, q);
--      }
--      return 0;
--}
--
--/**
-- * @brief return whether column normally sorts ascending (dates do not)
-- */
--bool CDirView::IsDefaultSortAscending(int col) const
--{
--      const DirColInfo * pColInfo = DirViewColItems_GetDirColInfo(col);
--      if (!pColInfo)
--      {
--              ASSERT(0); // fix caller, should not ask for nonexistent columns
--              return 0;
--      }
--      return pColInfo->defSortUp;
--}
--
--/// Assign column name, using string resource & current column ordering
--void CDirView::NameColumn(int id, int subitem)
--{
--      int phys = ColLogToPhys(subitem);
--      if (phys>=0)
--      {
--              String s = theApp.LoadString(id);
--              LV_COLUMN lvc;
--              lvc.mask = LVCF_TEXT;
--              lvc.pszText = const_cast<LPTSTR>(s.c_str());
--              m_pList->SetColumn(m_colorder[subitem], &lvc);
--      }
--}
--
--/// Load column names from string table
--void CDirView::UpdateColumnNames()
--{
--      int ncols = GetColLogCount();
--      for (int i=0; i<ncols; ++i)
--      {
--              const DirColInfo * col = DirViewColItems_GetDirColInfo(i);
--              NameColumn(col->idName, i);
--      }
--}
--
--/**
-- * @brief Set alignment of columns.
-- */
--void CDirView::SetColAlignments()
--{
--      int ncols = GetColLogCount();
--      for (int i=0; i<ncols; ++i)
--      {
--              const DirColInfo * col = DirViewColItems_GetDirColInfo(i);
--              LVCOLUMN lvc;
--              lvc.mask = LVCF_FMT;
--              lvc.fmt = col->alignment;
--              m_pList->SetColumn(m_colorder[i], &lvc);
--      }
--}
--
--CDirView::CompareState::CompareState(const CDirView *pView, int sortCol, bool bSortAscending)
--: pView(pView)
--, pCtxt(&pView->GetDocument()->GetDiffContext())
--, sortCol(sortCol)
--, bSortAscending(bSortAscending)
--{
--}
--
--/// Compare two specified rows during a sort operation (windows callback)
--int CALLBACK CDirView::CompareState::CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
--{
--      CompareState *pThis = reinterpret_cast<CompareState*>(lParamSort);
--      // Sort special items always first in dir view
--      if (lParam1 == -1)
--              return -1;
--      if (lParam2 == -1)
--              return 1;
--
--      uintptr_t diffposl = (uintptr_t)lParam1;
--      uintptr_t diffposr = (uintptr_t)lParam2;
--      const DIFFITEM &ldi = pThis->pCtxt->GetDiffAt(diffposl);
--      const DIFFITEM &rdi = pThis->pCtxt->GetDiffAt(diffposr);
--      // compare 'left' and 'right' parameters as appropriate
--      int retVal = pThis->pView->ColSort(pThis->pCtxt, pThis->sortCol, ldi, rdi);
--      // return compare result, considering sort direction
--      return pThis->bSortAscending ? retVal : -retVal;
--}
--
--/// Add new item to list view
--int CDirView::AddNewItem(int i, uintptr_t diffpos, int iImage, int iIndent)
--{
--      LV_ITEM lvItem;
--      lvItem.mask = LVIF_TEXT | LVIF_PARAM | LVIF_IMAGE | LVIF_INDENT;
--      lvItem.iItem = i;
--      lvItem.iIndent = iIndent;
--      lvItem.iSubItem = 0;
--      lvItem.pszText = LPSTR_TEXTCALLBACK;
--      lvItem.lParam = (LPARAM)diffpos;
--      lvItem.iImage = iImage;
--      return GetListCtrl().InsertItem(&lvItem);
--}
--
--/**
-- * @brief Update listview display of details for specified row
-- * @note Customising shownd data should be done here
-- */
--void CDirView::UpdateDiffItemStatus(UINT nIdx)
--{
--      GetListCtrl().RedrawItems(nIdx, nIdx);
--}
--
--static String rgDispinfoText[2]; // used in function below
--
--/**
-- * @brief Allocate a text buffer to assign to NMLVDISPINFO::item::pszText
-- * Quoting from SDK Docs:
-- *    If the LVITEM structure is receiving item text, the pszText and cchTextMax
-- *    members specify the address and size of a buffer. You can either copy text to
-- *    the buffer or assign the address of a string to the pszText member. In the
-- *    latter case, you must not change or delete the string until the corresponding
-- *    item text is deleted or two additional LVN_GETDISPINFO messages have been sent.
-- */
--static LPTSTR NTAPI AllocDispinfoText(const String &s)
--{
--      static int i = 0;
--      LPCTSTR pszText = (rgDispinfoText[i] = s).c_str();
--      i ^= 1;
--      return (LPTSTR)pszText;
--}
--
--/**
-- * @brief Respond to LVN_GETDISPINFO message
-- */
--void CDirView::ReflectGetdispinfo(NMLVDISPINFO *pParam)
--{
--      int nIdx = pParam->item.iItem;
--      int i = ColPhysToLog(pParam->item.iSubItem);
--      uintptr_t key = GetItemKey(nIdx);
--      if (key == SPECIAL_ITEM_POS)
--      {
--              if (IsColName(i))
--              {
--                      pParam->item.pszText = _T("..");
--              }
--              return;
--      }
--      if (!GetDocument()->HasDiffs())
--              return;
--      const CDiffContext &ctxt = GetDocument()->GetDiffContext();
--      const DIFFITEM &di = GetDocument()->GetDiffRefByKey(key);
--      if (pParam->item.mask & LVIF_TEXT)
--      {
--              String s = ColGetTextToDisplay(&ctxt, i, di);
--              // Add '*' to newer time field
--              if (GetDocument()->m_nDirs < 3)
--              {
--                      if (di.diffFileInfo[0].mtime != 0 || di.diffFileInfo[1].mtime != 0)
--                      {
--                              if
--                              (
--                                      IsColLmTime(i) && di.diffFileInfo[0].mtime > di.diffFileInfo[1].mtime // Left modification time
--                              ||      IsColRmTime(i) && di.diffFileInfo[0].mtime < di.diffFileInfo[1].mtime // Right modification time
--                              )
--                              {
--                                      s.insert(0, _T("* "));
--                              }
--                      }
--              }
--              else
--              {
--                      if (di.diffFileInfo[0].mtime != 0 || di.diffFileInfo[1].mtime != 0 ||  di.diffFileInfo[2].mtime != 0)
--                      {
--                              if
--                              (
--                                      IsColLmTime(i) && di.diffFileInfo[0].mtime > di.diffFileInfo[1].mtime && di.diffFileInfo[0].mtime > di.diffFileInfo[2].mtime // Left modification time
--                              ||      IsColMmTime(i) && di.diffFileInfo[1].mtime > di.diffFileInfo[0].mtime && di.diffFileInfo[1].mtime > di.diffFileInfo[2].mtime // Middle modification time
--                              ||      IsColRmTime(i) && di.diffFileInfo[2].mtime > di.diffFileInfo[0].mtime && di.diffFileInfo[2].mtime > di.diffFileInfo[1].mtime // Right modification time
--                              )
--                              {
--                                      s.insert(0, _T("* "));
--                              }
--                      }
--              }
--              pParam->item.pszText = AllocDispinfoText(s);
--      }
--      if (pParam->item.mask & LVIF_IMAGE)
--      {
--              pParam->item.iImage = GetColImage(di);
--      }
--
--      m_bNeedSearchLastDiffItem = true;
--      m_bNeedSearchFirstDiffItem = true;
--}
--
--/// store current column orders into registry
--void CDirView::SaveColumnOrders()
--{
--      ASSERT(m_colorder.size() == m_numcols);
--      ASSERT(m_invcolorder.size() == m_numcols);
--      for (int i=0; i < m_numcols; i++)
--      {
--              String RegName = GetColRegValueNameBase(i) + _T("_Order");
--              int ord = m_colorder[i];
--              theApp.WriteProfileInt(GetDocument()->m_nDirs < 3 ? _T("DirView") : _T("DirView3"), RegName.c_str(), ord);
--      }
--}
--
--/**
-- * @brief Load column orders from registry
-- */
--void CDirView::LoadColumnOrders()
--{
--      ASSERT(m_numcols == -1);
--      m_numcols = GetColLogCount();
--      ClearColumnOrders();
--      m_dispcols = 0;
--
--      // Load column orders
--      // Break out if one is missing
--      // Break out & mark failure (m_dispcols == -1) if one is invalid
--      int i=0;
--      for (i=0; i<m_numcols; ++i)
--      {
--              String RegName = GetColRegValueNameBase(i) + _T("_Order");
--              int ord = theApp.GetProfileInt(GetDocument()->m_nDirs < 3 ? _T("DirView") : _T("DirView3"), RegName.c_str(), -2);
--              if (ord<-1 || ord >= m_numcols)
--                      break;
--              m_colorder[i] = ord;
--              if (ord>=0)
--              {
--                      ++m_dispcols;
--                      if (m_invcolorder[ord] != -1)
--                      {
--                              m_dispcols = -1;
--                              break;
--                      }
--                      m_invcolorder[ord] = i;
--              }
--      }
--      // Check that a contiguous range was set
--      for (i=0; i<m_dispcols; ++i)
--      {
--              if (m_invcolorder[i] < 0)
--              {
--                      m_dispcols = -1;
--                      break;
--              }
--      }
--      // Must have at least one column
--      if (m_dispcols<=1)
--      {
--              ResetColumnOrdering();
--      }
--}
--
--/**
-- * @brief Set column ordering to default initial order
-- */
--void CDirView::ResetColumnOrdering()
--{
--      ClearColumnOrders();
--      m_dispcols = 0;
--      for (int i=0; i<m_numcols; ++i)
--      {
--              int phy = GetColDefaultOrder(i);
--              m_colorder[i] = phy;
--              if (phy>=0)
--              {
--                      m_invcolorder[phy] = i;
--                      ++m_dispcols;
--              }
--      }
--}
--
--/**
-- * @brief Reset all current column ordering information
-- */
--void CDirView::ClearColumnOrders()
--{
--      m_colorder.resize(m_numcols);
--      m_invcolorder.resize(m_numcols);
--      for (int i=0; i<m_numcols; ++i)
--      {
--              m_colorder[i] = -1;
--              m_invcolorder[i] = -1;
--      }
--}
--
--/**
-- * @brief Return display name of column
-- */
--String CDirView::GetColDisplayName(int col) const
--{
--      const DirColInfo * colinfo = DirViewColItems_GetDirColInfo(col);
--      return theApp.LoadString(colinfo->idName);
--}
--
--/**
-- * @brief Return description of column
-- */
--String CDirView::GetColDescription(int col) const
--{
--      const DirColInfo * colinfo = DirViewColItems_GetDirColInfo(col);
--      return theApp.LoadString(colinfo->idDesc);
--}
--
--/**
-- * @brief Return total number of known columns
-- */
--int CDirView::GetColLogCount() const
--{
--      if (GetDocument()->m_nDirs < 3)
--              return g_ncols;
--      else
--              return g_ncols3;
--}
--
--/**
-- * @brief Remove any windows reordering of columns (params are physical columns)
-- */
--void CDirView::MoveColumn(int psrc, int pdest)
--{
--      // actually moved column
--      m_colorder[m_invcolorder[psrc]] = pdest;
--      // shift all other affected columns
--      int dir = psrc > pdest ? +1 : -1;
--      int i=0;
--      for (i=pdest; i!=psrc; i += dir)
--      {
--              m_colorder[m_invcolorder[i]] = i+dir;
--      }
--      // fix inverse mapping
--      for (i=0; i<m_numcols; ++i)
--      {
--              if (m_colorder[i] >= 0)
--                      m_invcolorder[m_colorder[i]] = i;
--      }
--      InitiateSort();
--}
--
--/**
-- * @brief User examines & edits which columns are displayed in dirview, and in which order
-- */
--void CDirView::OnEditColumns()
--{
--      CDirColsDlg dlg;
--      // List all the currently displayed columns
--      for (int col=0; col<GetListCtrl().GetHeaderCtrl()->GetItemCount(); ++col)
--      {
--              int l = ColPhysToLog(col);
--              dlg.AddColumn(GetColDisplayName(l), GetColDescription(l), l, col);
--      }
--      // Now add all the columns not currently displayed
--      int l=0;
--      for (l=0; l<GetColLogCount(); ++l)
--      {
--              if (ColLogToPhys(l)==-1)
--              {
--                      dlg.AddColumn(GetColDisplayName(l), GetColDescription(l), l);
--              }
--      }
--
--      // Add default order of columns for resetting to defaults
--      for (l = 0; l < m_numcols; ++l)
--      {
--              int phy = GetColDefaultOrder(l);
--              dlg.AddDefColumn(GetColDisplayName(l), l, phy);
--      }
--
--      if (dlg.DoModal() != IDOK)
--              return;
--
--      if (dlg.m_bReset)
--              ResetColumnWidths();
--      else
--              SaveColumnWidths(); // save current widths to registry
--
--      // Reset our data to reflect the new data from the dialog
--      const CDirColsDlg::ColumnArray & cols = dlg.GetColumns();
--      ClearColumnOrders();
--      m_dispcols = 0;
--      const int sortColumn = GetOptionsMgr()->GetInt((GetDocument()->m_nDirs < 3) ? OPT_DIRVIEW_SORT_COLUMN : OPT_DIRVIEW_SORT_COLUMN3);
--      for (CDirColsDlg::ColumnArray::const_iterator iter = cols.begin();
--              iter != cols.end(); ++iter)
--      {
--              int log = iter->log_col;
--              int phy = iter->phy_col;
--              m_colorder[log] = phy;
--              if (phy>=0)
--              {
--                      ++m_dispcols;
--                      m_invcolorder[phy] = log;
--              }
--
--              // If sorted column was hidden, reset sorting
--              if (log == sortColumn && phy < 0)
--              {
--                      GetOptionsMgr()->Reset((GetDocument()->m_nDirs < 3) ? OPT_DIRVIEW_SORT_COLUMN : OPT_DIRVIEW_SORT_COLUMN3);
--                      GetOptionsMgr()->Reset(OPT_DIRVIEW_SORT_ASCENDING);
--              }
--      }
--      if (m_dispcols < 1)
--      {
--              // Ignore them if they didn't leave a column showing
--              ResetColumnOrdering();
--      }
--      else
--      {
--              ReloadColumns();
--              Redisplay();
--      }
--}
Simple merge
diff --cc Src/MainFrm.cpp
@@@ -1446,9 -1322,12 +1322,9 @@@ void CMainFrame::addToMru(LPCTSTR szIte
                if (s != szItem)
                        list.push_back(s);
        }
-       cnt = list.size() > nMaxItems ? nMaxItems : list.size();
+       cnt = list.size() > nMaxItems ? nMaxItems : static_cast<UINT>(list.size());
        for (UINT i=0 ; i<cnt; ++i)
 -      {
 -              s2.Format(_T("Item_%d"), i);
 -              AfxGetApp()->WriteProfileString(szRegSubKey, s2, list[i]);
 -      }
 +              AfxGetApp()->WriteProfileString(szRegSubKey, string_format(_T("Item_%d"), i).c_str(), list[i]);
        // update count
        AfxGetApp()->WriteProfileInt(szRegSubKey, _T("Count"), cnt);
  }
diff --cc Src/MainFrm.h
Simple merge
      </ClCompile>\r
      <ClCompile Include="DiffTextBuffer.cpp" />\r
      <ClCompile Include="DiffThread.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="DiffViewBar.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="DiffViewBar.cpp" />\r
      <ClCompile Include="DiffWrapper.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
 -    <ClCompile Include="DirActions.cpp" />\r
 +    <ClCompile Include="DirActions.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
++      <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
 +    </ClCompile>\r
      <ClCompile Include="DirCmpReport.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="DirCmpReportDlg.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="DirColsDlg.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="DirCompProgressBar.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="DirDoc.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="DirFrame.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="DirCmpReportDlg.cpp" />\r
+     <ClCompile Include="DirColsDlg.cpp" />\r
+     <ClCompile Include="DirCompProgressBar.cpp" />\r
+     <ClCompile Include="DirDoc.cpp" />\r
+     <ClCompile Include="DirFrame.cpp" />\r
      <ClCompile Include="DirItem.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="DirScan.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="DirTravel.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="DirView.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
 -    <ClCompile Include="DirViewColHandler.cpp" />\r
 -    <ClCompile Include="DirViewColItems.cpp" />\r
+     <ClCompile Include="DirView.cpp" />\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
 +    <ClCompile Include="DirViewColItems.cpp">\r
++      <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
 +    </ClCompile>\r
      <ClCompile Include="Common\dllproxy.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="dllpstub.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="EditorFilepathBar.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="EditorFilepathBar.cpp" />\r
      <ClCompile Include="EncodingErrorBar.cpp" />\r
      <ClCompile Include="Environment.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="FileActionScript.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="FileActionScript.cpp" />\r
      <ClCompile Include="FileFilter.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="FileFilterHelper.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="FileFilterMgr.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="FileFiltersDlg.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="FileFiltersDlg.cpp" />\r
      <ClCompile Include="FileOrFolderSelect.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="FilepathEdit.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="FilepathEdit.cpp" />\r
      <ClCompile Include="FileTextEncoding.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="FileTransform.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="FileVersion.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="FilterCommentsManager.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="FilterList.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="FolderCmp.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="GhostTextBuffer.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="GhostTextView.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="GhostTextBuffer.cpp" />\r
+     <ClCompile Include="GhostTextView.cpp" />\r
      <ClCompile Include="HexMergeDoc.cpp" />\r
      <ClCompile Include="HexMergeFrm.cpp" />\r
      <ClCompile Include="HexMergeView.cpp" />\r
      <ClCompile Include="PropCompareBinary.cpp" />\r
      <ClCompile Include="PropCompareFolder.cpp" />\r
      <ClCompile Include="PropCompareImage.cpp" />\r
-     <ClCompile Include="PropEditor.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="Common\PropertyPageHost.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="PropGeneral.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="PropRegistry.cpp">\r
-     </ClCompile>\r
+     <ClCompile Include="PropEditor.cpp" />\r
+     <ClCompile Include="Common\PropertyPageHost.cpp" />\r
+     <ClCompile Include="PropGeneral.cpp" />\r
+     <ClCompile Include="PropRegistry.cpp" />\r
      <ClCompile Include="PropShell.cpp" />\r
-     <ClCompile Include="PropSyntaxColors.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="PropTextColors.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="PropVss.cpp">\r
-     </ClCompile>\r
+     <ClCompile Include="PropSyntaxColors.cpp" />\r
+     <ClCompile Include="PropTextColors.cpp" />\r
+     <ClCompile Include="PropVss.cpp" />\r
      <ClCompile Include="Common\RegKey.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="Common\RegOptionsMgr.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="SaveClosingDlg.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="Common\scbarcf.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="Common\scbarg.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="SelectUnpackerDlg.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="SharedFilterDlg.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="SaveClosingDlg.cpp" />\r
+     <ClCompile Include="Common\scbarcf.cpp" />\r
+     <ClCompile Include="Common\scbarg.cpp" />\r
+     <ClCompile Include="SelectUnpackerDlg.cpp" />\r
+     <ClCompile Include="SharedFilterDlg.cpp" />\r
      <ClCompile Include="Common\ShellContextMenu.cpp" />\r
      <ClCompile Include="Common\ShellFileOperations.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="Common\sizecbar.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="Common\SortHeaderCtrl.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
 -    <ClCompile Include="SourceControl.cpp" />\r
 -    <ClCompile Include="Common\SplitterWndEx.cpp" />\r
 -    <ClCompile Include="ssapi.cpp">\r
+     <ClCompile Include="Common\sizecbar.cpp" />\r
+     <ClCompile Include="Common\SortHeaderCtrl.cpp" />\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="Common\SplitterWndEx.cpp">\r
 +    <ClCompile Include="SourceControl.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
++    <ClCompile Include="Common\SplitterWndEx.cpp" />\r
      <ClCompile Include="StdAfx.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='X64 Debug|Win32'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='X64 Debug|x64'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='X64 Release|Win32'">Create</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='X64 Release|x64'">Create</PrecompiledHeader>\r
+       <PrecompiledHeader>Create</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="stringdiffs.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="Common\SuperComboBox.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="Common\SuperComboBox.cpp" />\r
      <ClCompile Include="TempFile.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="TestFilterDlg.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="TestFilterDlg.cpp" />\r
      <ClCompile Include="Common\unicoder.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="Common\UnicodeString.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="Common\UniFile.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="UniMarkdownFile.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="Common\varprop.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="Common\version.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="VSSHelper.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-     </ClCompile>\r
-     <ClCompile Include="VssPromptDlg.cpp">\r
-     </ClCompile>\r
-     <ClCompile Include="WMGotoDlg.cpp">\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
+     <ClCompile Include="VssPromptDlg.cpp" />\r
+     <ClCompile Include="WMGotoDlg.cpp" />\r
      <ClCompile Include="diffutils\src\analyze.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\lib\cmpbuf.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\src\context.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\src\Diff.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\src\ed.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\GnuVersion.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\src\ifdef.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\src\io.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\src\normal.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\src\side.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="diffutils\src\util.c">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="CompareEngines\ByteComparator.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="CompareEngines\ByteCompare.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="CompareEngines\DiffUtils.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
      <ClCompile Include="CompareEngines\TimeSizeCompare.cpp">\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|Win32'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeDebug|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Unicode + Code Analysis|x64'">NotUsing</PrecompiledHeader>\r
-       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='UnicodeRelease|x64'">NotUsing</PrecompiledHeader>\r
+       <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
      </ClCompile>\r
    </ItemGroup>\r
    <ItemGroup>\r
Simple merge
Simple merge
Simple merge
Simple merge
index 0000000,25b6596..99ccc28
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,212 +1,215 @@@
+ /**
+ * @file  OptionsDef.cpp
+ *
+ * @brief Constants for option-names
+ */
+ #include "OptionsDef.h"
+ #define _T2(x) _T(x), sizeof(_T(x))/sizeof(TCHAR) - 1
+ // User's language
+ const String OPT_SELECTED_LANGUAGE(_T2("Locale/LanguageId"));
+ // View-menu
+ const String OPT_SHOW_UNIQUE_LEFT(_T2("Settings/ShowUniqueLeft"));
+ const String OPT_SHOW_UNIQUE_RIGHT(_T2("Settings/ShowUniqueRight"));
+ const String OPT_SHOW_DIFFERENT(_T2("Settings/ShowDifferent"));
+ const String OPT_SHOW_IDENTICAL(_T2("Settings/ShowIdentical"));
+ const String OPT_SHOW_BINARIES(_T2("Settings/ShowBinaries"));
+ const String OPT_SHOW_SKIPPED(_T2("Settings/ShowSkipped"));
+ const String OPT_TREE_MODE(_T2("Settings/TreeMode"));
+ // Show/hide toolbar/statusbar/tabbar
+ const String OPT_SHOW_TOOLBAR(_T2("Settings/ShowToolbar"));
+ const String OPT_SHOW_STATUSBAR(_T2("Settings/ShowStatusbar"));
+ const String OPT_SHOW_TABBAR(_T2("Settings/ShowTabbar"));
+ const String OPT_TOOLBAR_SIZE(_T2("Settings/ToolbarSize"));
+ const String OPT_RESIZE_PANES(_T2("Settings/AutoResizePanes"));
+ const String OPT_SYNTAX_HIGHLIGHT(_T2("Settings/HiliteSyntax"));
+ const String OPT_VIEW_WHITESPACE(_T2("Settings/ViewWhitespace"));
+ const String OPT_CONNECT_MOVED_BLOCKS(_T2("Settings/ConnectMovedBlocks"));
+ const String OPT_SCROLL_TO_FIRST(_T2("Settings/ScrollToFirst"));
+ // Difference (in-line) highlight
+ const String OPT_WORDDIFF_HIGHLIGHT(_T2("Settings/HiliteWordDiff"));
+ const String OPT_BREAK_ON_WORDS(_T2("Settings/BreakOnWords"));
+ const String OPT_BREAK_TYPE(_T2("Settings/BreakType"));
+ const String OPT_BREAK_SEPARATORS(_T2("Settings/HiliteBreakSeparators"));
+ // Backup options
+ const String OPT_BACKUP_FOLDERCMP(_T2("Backup/EnableFolder"));
+ const String OPT_BACKUP_FILECMP(_T2("Backup/EnableFile"));
+ const String OPT_BACKUP_LOCATION(_T2("Backup/Location"));
+ const String OPT_BACKUP_GLOBALFOLDER(_T2("Backup/GlobalFolder"));
+ const String OPT_BACKUP_ADD_BAK(_T2("Backup/NameAddBak"));
+ const String OPT_BACKUP_ADD_TIME(_T2("Backup/NameAddTime"));
+ const String OPT_DIRVIEW_SORT_COLUMN(_T2("Settings/DirViewSortCol"));
+ const String OPT_DIRVIEW_SORT_COLUMN3(_T2("Settings/DirViewSortCol3"));
+ const String OPT_DIRVIEW_SORT_ASCENDING(_T2("Settings/DirViewSortAscending"));
+ const String OPT_DIRVIEW_EXPAND_SUBDIRS(_T2("Settings/DirViewExpandSubdirs"));
+ // File compare
+ const String OPT_AUTOMATIC_RESCAN(_T2("Settings/AutomaticRescan"));
+ const String OPT_ALLOW_MIXED_EOL(_T2("Settings/AllowMixedEOL"));
+ const String OPT_TAB_SIZE(_T2("Settings/TabSize"));
+ const String OPT_TAB_TYPE(_T2("Settings/TabType"));
+ const String OPT_WORDWRAP(_T2("Settings/WordWrap"));
+ const String OPT_VIEW_LINENUMBERS(_T2("Settings/ViewLineNumbers"));
+ const String OPT_VIEW_FILEMARGIN(_T2("Settings/ViewFileMargin"));
+ const String OPT_DIFF_CONTEXT(_T2("Settings/DiffContext"));
+ const String OPT_EXT_EDITOR_CMD(_T2("Settings/ExternalEditor"));
+ const String OPT_USE_RECYCLE_BIN(_T2("Settings/UseRecycleBin"));
+ const String OPT_SINGLE_INSTANCE(_T2("Settings/SingleInstance"));
+ const String OPT_MERGE_MODE(_T2("Settings/MergingMode"));
+ const String OPT_CLOSE_WITH_ESC(_T2("Settings/CloseWithEsc"));
+ const String OPT_CLOSE_WITH_OK(_T2("Settings/CloseWithOK"));
+ const String OPT_VERIFY_OPEN_PATHS(_T2("Settings/VerifyOpenPaths"));
+ const String OPT_AUTO_COMPLETE_SOURCE(_T2("Settings/AutoCompleteSource"));
+ const String OPT_IGNORE_SMALL_FILETIME(_T2("Settings/IgnoreSmallFileTime"));
+ const String OPT_ASK_MULTIWINDOW_CLOSE(_T2("Settings/AskClosingMultipleWindows"));
+ const String OPT_PRESERVE_FILETIMES(_T2("Settings/PreserveFiletimes"));
+ const String OPT_CP_DEFAULT_MODE(_T2("Settings/CodepageDefaultMode"));
+ const String OPT_CP_DEFAULT_CUSTOM(_T2("Settings/CodepageDefaultCustomValue"));
+ const String OPT_CP_DETECT(_T2("Settings/CodepageDetection"));
+ const String OPT_PROJECTS_PATH(_T2("Settings/ProjectsPath"));
+ const String OPT_USE_SYSTEM_TEMP_PATH(_T2("Settings/UseSystemTempPath"));
+ const String OPT_CUSTOM_TEMP_PATH(_T2("Settings/CustomTempPath"));
+ const String OPT_SPLIT_HORIZONTALLY(_T2("Settings/SplitHorizontally"));
+ // Color options
+ // The difference color
+ const String OPT_CLR_DIFF(_T2("Settings/DifferenceColor"));
+ // The selected difference color
+ const String OPT_CLR_SELECTED_DIFF(_T2("Settings/SelectedDifferenceColor"));
+ // The difference deleted color
+ const String OPT_CLR_DIFF_DELETED(_T2("Settings/DifferenceDeletedColor"));
+ // The selected difference deleted color
+ const String OPT_CLR_SELECTED_DIFF_DELETED(_T2("Settings/SelectedDifferenceDeletedColor"));
+ // The difference text color
+ const String OPT_CLR_DIFF_TEXT(_T2("Settings/DifferenceTextColor"));
+ // The selected difference text color
+ const String OPT_CLR_SELECTED_DIFF_TEXT(_T2("Settings/SelectedDifferenceTextColor"));
+ // The ignored lines color
+ const String OPT_CLR_TRIVIAL_DIFF(_T2("Settings/TrivialDifferenceColor"));
+ // The ignored and deleted lines color
+ const String OPT_CLR_TRIVIAL_DIFF_DELETED(_T2("Settings/TrivialDifferenceDeletedColor"));
+ // The ignored text color
+ const String OPT_CLR_TRIVIAL_DIFF_TEXT(_T2("Settings/TrivialDifferenceTextColor"));
+ // The moved block color
+ const String OPT_CLR_MOVEDBLOCK(_T2("Settings/MovedBlockColor"));
+ // The moved block deleted lines color
+ const String OPT_CLR_MOVEDBLOCK_DELETED(_T2("Settings/MovedBlockDeletedColor"));
+ // The moved block text color
+ const String OPT_CLR_MOVEDBLOCK_TEXT(_T2("Settings/MovedBlockTextColor"));
+ // The selected moved block color
+ const String OPT_CLR_SELECTED_MOVEDBLOCK(_T2("Settings/SelectedMovedBlockColor"));
+ // The selected moved block deleted lines
+ const String OPT_CLR_SELECTED_MOVEDBLOCK_DELETED(_T2("Settings/SelectedMovedBlockDeletedColor"));
+ // The selected moved block text color
+ const String OPT_CLR_SELECTED_MOVEDBLOCK_TEXT(_T2("Settings/SelectedMovedBlockTextColor"));
+ // The SNP block color
+ const String OPT_CLR_SNP(_T2("Settings/SNPColor"));
+ // The SNP block deleted lines color
+ const String OPT_CLR_SNP_DELETED(_T2("Settings/SNPDeletedColor"));
+ // The SNP block text color
+ const String OPT_CLR_SNP_TEXT(_T2("Settings/SNPTextColor"));
+ // The selected SNP block color
+ const String OPT_CLR_SELECTED_SNP(_T2("Settings/SelectedSNPColor"));
+ // The selected SNP block deleted lines
+ const String OPT_CLR_SELECTED_SNP_DELETED(_T2("Settings/SelectedSNPDeletedColor"));
+ // The selected SNP block text color
+ const String OPT_CLR_SELECTED_SNP_TEXT(_T2("Settings/SelectedSNPTextColor"));
+ // The word difference color
+ const String OPT_CLR_WORDDIFF(_T2("Settings/WordDifferenceColor"));
+ // The word difference deleted color
+ const String OPT_CLR_WORDDIFF_DELETED(_T2("Settings/WordDifferenceDeletedColor"));
+ // The word difference text color
+ const String OPT_CLR_WORDDIFF_TEXT(_T2("Settings/WordDifferenceTextColor"));
+ // The selected word difference color
+ const String OPT_CLR_SELECTED_WORDDIFF(_T2("Settings/SelectedWordDifferenceColor"));
+ // The word difference deleted color
+ const String OPT_CLR_SELECTED_WORDDIFF_DELETED(_T2("Settings/SelectedWordDifferenceDeletedColor"));
+ // The selected word difference text color
+ const String OPT_CLR_SELECTED_WORDDIFF_TEXT(_T2("Settings/SelectedWordDifferenceTextColor"));
+ // Whether to use default (theme) text colors
+ const String OPT_CLR_DEFAULT_TEXT_COLORING(_T2("Settings/DefaultTextColoring"));
+ // Compare options
+ const String OPT_CMP_IGNORE_WHITESPACE(_T2("Settings/IgnoreSpace"));
+ const String OPT_CMP_IGNORE_BLANKLINES(_T2("Settings/IgnoreBlankLines"));
+ const String OPT_CMP_FILTER_COMMENTLINES(_T2("Settings/FilterCommentsLines"));
+ const String OPT_CMP_IGNORE_CASE(_T2("Settings/IgnoreCase"));
+ const String OPT_CMP_IGNORE_EOL(_T2("Settings/IgnoreEol"));
+ const String OPT_CMP_METHOD(_T2("Settings/CompMethod2"));
+ const String OPT_CMP_MOVED_BLOCKS(_T2("Settings/MovedBlocks"));
+ const String OPT_CMP_MATCH_SIMILAR_LINES(_T2("Settings/MatchSimilarLines"));
+ const String OPT_CMP_STOP_AFTER_FIRST(_T2("Settings/StopAfterFirst"));
+ const String OPT_CMP_QUICK_LIMIT(_T2("Settings/QuickMethodLimit"));
+ const String OPT_CMP_WALK_UNIQUE_DIRS(_T2("Settings/ScanUnpairedDir"));
+ const String OPT_CMP_IGNORE_REPARSE_POINTS(_T2("Settings/IgnoreReparsePoints"));
+ // Image Compare options
+ const String OPT_CMP_IMG_FILEPATTERNS(_T2("Settings/ImageFilePatterns"));
+ const String OPT_CMP_IMG_SHOWDIFFERENCES(_T2("Settings/ImageShowDifferences"));
+ const String OPT_CMP_IMG_OVERLAYMOVE(_T2("Settings/ImageOverlayMode"));
+ const String OPT_CMP_IMG_ZOOM(_T2("Settings/ImageZoom"));
+ const String OPT_CMP_IMG_USEBACKCOLOR(_T2("Settings/ImageUseBackColor"));
+ const String OPT_CMP_IMG_BACKCOLOR(_T2("Settings/ImageBackColor"));
+ const String OPT_CMP_IMG_DIFFBLOCKSIZE(_T2("Settings/ImageDiffBlockSize"));
+ const String OPT_CMP_IMG_THRESHOLD(_T2("Settings/ImageColorDistanceThreshold"));
+ // Image Binary options
+ const String OPT_CMP_BIN_FILEPATTERNS(_T2("Settings/BinaryFilePatterns"));
+ /// Are regular expression linefilters enabled?
+ const String OPT_LINEFILTER_ENABLED(_T2("Settings/IgnoreRegExp"));
+ /// Currently selected filefilter
+ const String OPT_FILEFILTER_CURRENT(_T2("Settings/FileFilterCurrent"));
+ const String OPT_FILTER_USERPATH(_T2("Settings/UserFilterPath"));
+ const String OPT_FILEFILTER_SHARED(_T2("Settings/Filters/Shared"));
+ // Version control
+ const String OPT_VCS_SYSTEM(_T2("Settings/VersionSystem"));
+ const String OPT_VSS_PATH(_T2("Settings/VssPath"));
++const String OPT_VSS_DATABASE(_T2("Settings/VssDatabase"));
++const String OPT_VSS_PROJECT(_T2("Settings/VssProject"));
++const String OPT_VSS_USER(_T2("Settings/VssUser"));
+ // Archive support
+ const String OPT_ARCHIVE_ENABLE(_T2("Merge7z/Enable"));
+ const String OPT_ARCHIVE_PROBETYPE(_T2("Merge7z/ProbeSignature"));
+ // Plugins
+ const String OPT_PLUGINS_ENABLED(_T2("Settings/PluginsEnabled"));
+ // Startup options
+ const String OPT_SHOW_SELECT_FILES_AT_STARTUP(_T2("Settings/ShowFileDialog"));
+ // MDI Tab Bar
+ const String OPT_TABBAR_AUTO_MAXWIDTH(_T2("Settings/TabBarAutoMaxWidth"));
+ // Font options
+ const String OPT_FONT_FILECMP(_T2("Font/"));
+ const String OPT_FONT_DIRCMP(_T2("FontDirCompare/"));
+ const String OPT_FONT_USECUSTOM(_T2("Specified"));
+ const String OPT_FONT_HEIGHT(_T2("Height"));
+ const String OPT_FONT_WIDTH(_T2("Width"));
+ const String OPT_FONT_ESCAPEMENT(_T2("Escapement"));
+ const String OPT_FONT_ORIENTATION(_T2("Orientation"));
+ const String OPT_FONT_WEIGHT(_T2("Weight"));
+ const String OPT_FONT_ITALIC(_T2("Italic"));
+ const String OPT_FONT_UNDERLINE(_T2("Underline"));
+ const String OPT_FONT_STRIKEOUT(_T2("StrikeOut"));
+ const String OPT_FONT_CHARSET(_T2("CharSet"));
+ const String OPT_FONT_OUTPRECISION(_T2("OutPrecision"));
+ const String OPT_FONT_CLIPPRECISION(_T2("ClipPrecision"));
+ const String OPT_FONT_QUALITY(_T2("Quality"));
+ const String OPT_FONT_PITCHANDFAMILY(_T2("PitchAndFamily"));
+ const String OPT_FONT_FACENAME(_T2("FaceName"));
@@@ -84,132 -84,129 +84,132 @@@ extern const String OPT_SPLIT_HORIZONTA
  
  // Color options
  // The difference color
const TCHAR OPT_CLR_DIFF[] = _T("Settings/DifferenceColor");
extern const String OPT_CLR_DIFF;
  // The selected difference color
const TCHAR OPT_CLR_SELECTED_DIFF[] = _T("Settings/SelectedDifferenceColor");
extern const String OPT_CLR_SELECTED_DIFF;
  // The difference deleted color
const TCHAR OPT_CLR_DIFF_DELETED[] = _T("Settings/DifferenceDeletedColor");
extern const String OPT_CLR_DIFF_DELETED;
  // The selected difference deleted color
const TCHAR OPT_CLR_SELECTED_DIFF_DELETED[] = _T("Settings/SelectedDifferenceDeletedColor");
extern const String OPT_CLR_SELECTED_DIFF_DELETED;
  // The difference text color
const TCHAR OPT_CLR_DIFF_TEXT[] = _T("Settings/DifferenceTextColor");
extern const String OPT_CLR_DIFF_TEXT;
  // The selected difference text color
const TCHAR OPT_CLR_SELECTED_DIFF_TEXT[] = _T("Settings/SelectedDifferenceTextColor");
extern const String OPT_CLR_SELECTED_DIFF_TEXT;
  // The ignored lines color
const TCHAR OPT_CLR_TRIVIAL_DIFF[] = _T("Settings/TrivialDifferenceColor");
extern const String OPT_CLR_TRIVIAL_DIFF;
  // The ignored and deleted lines color
const TCHAR OPT_CLR_TRIVIAL_DIFF_DELETED[] = _T("Settings/TrivialDifferenceDeletedColor");
extern const String OPT_CLR_TRIVIAL_DIFF_DELETED;
  // The ignored text color
const TCHAR OPT_CLR_TRIVIAL_DIFF_TEXT[] = _T("Settings/TrivialDifferenceTextColor");
extern const String OPT_CLR_TRIVIAL_DIFF_TEXT;
  // The moved block color
const TCHAR OPT_CLR_MOVEDBLOCK[] = _T("Settings/MovedBlockColor");
extern const String OPT_CLR_MOVEDBLOCK;
  // The moved block deleted lines color
const TCHAR OPT_CLR_MOVEDBLOCK_DELETED[] = _T("Settings/MovedBlockDeletedColor");
extern const String OPT_CLR_MOVEDBLOCK_DELETED;
  // The moved block text color
const TCHAR OPT_CLR_MOVEDBLOCK_TEXT[] = _T("Settings/MovedBlockTextColor");
extern const String OPT_CLR_MOVEDBLOCK_TEXT;
  // The selected moved block color
const TCHAR OPT_CLR_SELECTED_MOVEDBLOCK[] = _T("Settings/SelectedMovedBlockColor");
extern const String OPT_CLR_SELECTED_MOVEDBLOCK;
  // The selected moved block deleted lines
const TCHAR OPT_CLR_SELECTED_MOVEDBLOCK_DELETED[] = _T("Settings/SelectedMovedBlockDeletedColor");
extern const String OPT_CLR_SELECTED_MOVEDBLOCK_DELETED;
  // The selected moved block text color
const TCHAR OPT_CLR_SELECTED_MOVEDBLOCK_TEXT[] = _T("Settings/SelectedMovedBlockTextColor");
extern const String OPT_CLR_SELECTED_MOVEDBLOCK_TEXT;
  // The SNP block color
const TCHAR OPT_CLR_SNP[] = _T("Settings/SNPColor");
extern const String OPT_CLR_SNP;
  // The SNP block deleted lines color
const TCHAR OPT_CLR_SNP_DELETED[] = _T("Settings/SNPDeletedColor");
extern const String OPT_CLR_SNP_DELETED;
  // The SNP block text color
const TCHAR OPT_CLR_SNP_TEXT[] = _T("Settings/SNPTextColor");
extern const String OPT_CLR_SNP_TEXT;
  // The selected SNP block color
const TCHAR OPT_CLR_SELECTED_SNP[] = _T("Settings/SelectedSNPColor");
extern const String OPT_CLR_SELECTED_SNP;
  // The selected SNP block deleted lines
const TCHAR OPT_CLR_SELECTED_SNP_DELETED[] = _T("Settings/SelectedSNPDeletedColor");
extern const String OPT_CLR_SELECTED_SNP_DELETED;
  // The selected SNP block text color
const TCHAR OPT_CLR_SELECTED_SNP_TEXT[] = _T("Settings/SelectedSNPTextColor");
extern const String OPT_CLR_SELECTED_SNP_TEXT;
  // The word difference color
const TCHAR OPT_CLR_WORDDIFF[] = _T("Settings/WordDifferenceColor");
extern const String OPT_CLR_WORDDIFF;
  // The word difference deleted color
const TCHAR OPT_CLR_WORDDIFF_DELETED[] = _T("Settings/WordDifferenceDeletedColor");
extern const String OPT_CLR_WORDDIFF_DELETED;
  // The word difference text color
const TCHAR OPT_CLR_WORDDIFF_TEXT[] = _T("Settings/WordDifferenceTextColor");
extern const String OPT_CLR_WORDDIFF_TEXT;
  // The selected word difference color
const TCHAR OPT_CLR_SELECTED_WORDDIFF[] = _T("Settings/SelectedWordDifferenceColor");
extern const String OPT_CLR_SELECTED_WORDDIFF;
  // The word difference deleted color
const TCHAR OPT_CLR_SELECTED_WORDDIFF_DELETED[] = _T("Settings/SelectedWordDifferenceDeletedColor");
extern const String OPT_CLR_SELECTED_WORDDIFF_DELETED;
  // The selected word difference text color
const TCHAR OPT_CLR_SELECTED_WORDDIFF_TEXT[] = _T("Settings/SelectedWordDifferenceTextColor");
extern const String OPT_CLR_SELECTED_WORDDIFF_TEXT;
  // Whether to use default (theme) text colors
const TCHAR OPT_CLR_DEFAULT_TEXT_COLORING[] = _T("Settings/DefaultTextColoring");
extern const String OPT_CLR_DEFAULT_TEXT_COLORING;
  
  // Compare options
const TCHAR OPT_CMP_IGNORE_WHITESPACE[] = _T("Settings/IgnoreSpace");
const TCHAR OPT_CMP_IGNORE_BLANKLINES[] = _T("Settings/IgnoreBlankLines");
const TCHAR OPT_CMP_FILTER_COMMENTLINES[] = _T("Settings/FilterCommentsLines");
const TCHAR OPT_CMP_IGNORE_CASE[] = _T("Settings/IgnoreCase");
const TCHAR OPT_CMP_IGNORE_EOL[] = _T("Settings/IgnoreEol");
const TCHAR OPT_CMP_METHOD[] = _T("Settings/CompMethod2");
const TCHAR OPT_CMP_MOVED_BLOCKS[] = _T("Settings/MovedBlocks");
const TCHAR OPT_CMP_MATCH_SIMILAR_LINES[] = _T("Settings/MatchSimilarLines");
const TCHAR OPT_CMP_STOP_AFTER_FIRST[] = _T("Settings/StopAfterFirst");
const TCHAR OPT_CMP_QUICK_LIMIT[] = _T("Settings/QuickMethodLimit");
const TCHAR OPT_CMP_WALK_UNIQUE_DIRS[] = _T("Settings/ScanUnpairedDir");
const TCHAR OPT_CMP_IGNORE_REPARSE_POINTS[] = _T("Settings/IgnoreReparsePoints");
extern const String OPT_CMP_IGNORE_WHITESPACE;
extern const String OPT_CMP_IGNORE_BLANKLINES;
extern const String OPT_CMP_FILTER_COMMENTLINES;
extern const String OPT_CMP_IGNORE_CASE;
extern const String OPT_CMP_IGNORE_EOL;
extern const String OPT_CMP_METHOD;
extern const String OPT_CMP_MOVED_BLOCKS;
extern const String OPT_CMP_MATCH_SIMILAR_LINES;
extern const String OPT_CMP_STOP_AFTER_FIRST;
extern const String OPT_CMP_QUICK_LIMIT;
extern const String OPT_CMP_WALK_UNIQUE_DIRS;
extern const String OPT_CMP_IGNORE_REPARSE_POINTS;
  
  // Image Compare options
const TCHAR OPT_CMP_IMG_FILEPATTERNS[] = _T("Settings/ImageFilePatterns");
const TCHAR OPT_CMP_IMG_SHOWDIFFERENCES[] = _T("Settings/ImageShowDifferences");
const TCHAR OPT_CMP_IMG_OVERLAYMOVE[] = _T("Settings/ImageOverlayMode");
const TCHAR OPT_CMP_IMG_ZOOM[] = _T("Settings/ImageZoom");
const TCHAR OPT_CMP_IMG_USEBACKCOLOR[] = _T("Settings/ImageUseBackColor");
const TCHAR OPT_CMP_IMG_BACKCOLOR[] = _T("Settings/ImageBackColor");
const TCHAR OPT_CMP_IMG_DIFFBLOCKSIZE[] = _T("Settings/ImageDiffBlockSize");
const TCHAR OPT_CMP_IMG_THRESHOLD[] = _T("Settings/ImageColorDistanceThreshold");
extern const String OPT_CMP_IMG_FILEPATTERNS;
extern const String OPT_CMP_IMG_SHOWDIFFERENCES;
extern const String OPT_CMP_IMG_OVERLAYMOVE;
extern const String OPT_CMP_IMG_ZOOM;
extern const String OPT_CMP_IMG_USEBACKCOLOR;
extern const String OPT_CMP_IMG_BACKCOLOR;
extern const String OPT_CMP_IMG_DIFFBLOCKSIZE;
extern const String OPT_CMP_IMG_THRESHOLD;
  
  // Image Binary options
const TCHAR OPT_CMP_BIN_FILEPATTERNS[] = _T("Settings/BinaryFilePatterns");
extern const String OPT_CMP_BIN_FILEPATTERNS;
  
  /// Are regular expression linefilters enabled?
const TCHAR OPT_LINEFILTER_ENABLED[] = _T("Settings/IgnoreRegExp");
extern const String OPT_LINEFILTER_ENABLED;
  /// Currently selected filefilter
const TCHAR OPT_FILEFILTER_CURRENT[] = _T("Settings/FileFilterCurrent");
const TCHAR OPT_FILTER_USERPATH[] = _T("Settings/UserFilterPath");
const TCHAR OPT_FILEFILTER_SHARED[] = _T("Settings/Filters/Shared");
extern const String OPT_FILEFILTER_CURRENT;
extern const String OPT_FILTER_USERPATH;
extern const String OPT_FILEFILTER_SHARED;
  
  // Version control
- const TCHAR OPT_VCS_SYSTEM[] = _T("Settings/VersionSystem");
- const TCHAR OPT_VSS_PATH[] = _T("Settings/VssPath");
- const TCHAR OPT_VSS_DATABASE[] = _T("Settings/VssDatabase");
- const TCHAR OPT_VSS_PROJECT[] = _T("Settings/VssProject");
- const TCHAR OPT_VSS_USER[] = _T("Settings/VssUser");
+ extern const String OPT_VCS_SYSTEM;
+ extern const String OPT_VSS_PATH;
++extern const String OPT_VSS_DATABASE;
++extern const String OPT_VSS_PROJECT;
++extern const String OPT_VSS_USER;
  
  // Archive support
const TCHAR OPT_ARCHIVE_ENABLE[] = _T("Merge7z/Enable");
const TCHAR OPT_ARCHIVE_PROBETYPE[] = _T("Merge7z/ProbeSignature");
extern const String OPT_ARCHIVE_ENABLE;
extern const String OPT_ARCHIVE_PROBETYPE;
  
  // Plugins
const TCHAR OPT_PLUGINS_ENABLED[] = _T("Settings/PluginsEnabled");
extern const String OPT_PLUGINS_ENABLED;
  
  // Startup options
const TCHAR OPT_SHOW_SELECT_FILES_AT_STARTUP[] = _T("Settings/ShowFileDialog");
extern const String OPT_SHOW_SELECT_FILES_AT_STARTUP;
  
  // MDI Tab Bar
const TCHAR OPT_TABBAR_AUTO_MAXWIDTH[] = _T("Settings/TabBarAutoMaxWidth");
extern const String OPT_TABBAR_AUTO_MAXWIDTH;
  
  // Font options
const TCHAR OPT_FONT_FILECMP[] = _T("Font/");
const TCHAR OPT_FONT_DIRCMP[] = _T("FontDirCompare/");
const TCHAR OPT_FONT_USECUSTOM[] = _T("Specified");
const TCHAR OPT_FONT_HEIGHT[] = _T("Height");
const TCHAR OPT_FONT_WIDTH[] = _T("Width");
const TCHAR OPT_FONT_ESCAPEMENT[] = _T("Escapement");
const TCHAR OPT_FONT_ORIENTATION[] = _T("Orientation");
const TCHAR OPT_FONT_WEIGHT[] = _T("Weight");
const TCHAR OPT_FONT_ITALIC[] = _T("Italic");
const TCHAR OPT_FONT_UNDERLINE[] = _T("Underline");
const TCHAR OPT_FONT_STRIKEOUT[] = _T("StrikeOut");
const TCHAR OPT_FONT_CHARSET[] = _T("CharSet");
const TCHAR OPT_FONT_OUTPRECISION[] = _T("OutPrecision");
const TCHAR OPT_FONT_CLIPPRECISION[] = _T("ClipPrecision");
const TCHAR OPT_FONT_QUALITY[] = _T("Quality");
const TCHAR OPT_FONT_PITCHANDFAMILY[] = _T("PitchAndFamily");
const TCHAR OPT_FONT_FACENAME[] = _T("FaceName");
extern const String OPT_FONT_FILECMP;
extern const String OPT_FONT_DIRCMP;
extern const String OPT_FONT_USECUSTOM;
extern const String OPT_FONT_HEIGHT;
extern const String OPT_FONT_WIDTH;
extern const String OPT_FONT_ESCAPEMENT;
extern const String OPT_FONT_ORIENTATION;
extern const String OPT_FONT_WEIGHT;
extern const String OPT_FONT_ITALIC;
extern const String OPT_FONT_UNDERLINE;
extern const String OPT_FONT_STRIKEOUT;
extern const String OPT_FONT_CHARSET;
extern const String OPT_FONT_OUTPRECISION;
extern const String OPT_FONT_CLIPPRECISION;
extern const String OPT_FONT_QUALITY;
extern const String OPT_FONT_PITCHANDFAMILY;
extern const String OPT_FONT_FACENAME;