OSDN Git Service

Merge with stable
authorsdottaka <sdottaka@users.sourceforge.net>
Sun, 19 Apr 2015 14:30:29 +0000 (23:30 +0900)
committersdottaka <sdottaka@users.sourceforge.net>
Sun, 19 Apr 2015 14:30:29 +0000 (23:30 +0900)
19 files changed:
1  2 
Src/Common/MDITabBar.cpp
Src/Common/unicoder.cpp
Src/DirDoc.cpp
Src/DirDoc.h
Src/DirTravel.cpp
Src/DirView.cpp
Src/FileOrFolderSelect.cpp
Src/IListCtrlImpl.h
Src/MainFrm.cpp
Src/MainFrm.h
Src/Merge.cpp
Src/Merge.vcxproj
Src/Merge.vcxproj.filters
Src/OptionsDef.h
Src/OptionsInit.cpp
Src/PropGeneral.cpp
Src/PropGeneral.h
Src/StdAfx.h
Src/diffutils/src/diff.h

Simple merge
Simple merge
diff --cc Src/DirDoc.cpp
@@@ -72,8 -71,8 +72,7 @@@ CDirDoc::CDirDoc(
  : m_pCtxt(nullptr)
  , m_pDirView(nullptr)
  , m_pCompareStats(nullptr)
 -, m_bRecursive(FALSE)
  , m_statusCursor(nullptr)
- , m_bReuseCloses(FALSE)
  , m_bMarkedRescan(FALSE)
  , m_pTempPathContext(nullptr)
  {
diff --cc Src/DirDoc.h
Simple merge
Simple merge
diff --cc Src/DirView.cpp
@@@ -1362,34 -1814,24 +1355,25 @@@ void CDirView::OpenSelectionHex(
  
        // Common variables which both code paths below are responsible for setting
        PathContext paths;
 -      DIFFITEM *pdi[3] = { 0 }; // left & right items (di1==di2 if single selection)
 +      const DIFFITEM *pdi[3]; // left & right items (di1==di2 if single selection)
        bool isdir = false; // set if we're comparing directories
        int nPane[3];
 +      String errmsg;
 +      bool success;
        if (pos2)
 +              success = GetOpenTwoItems(ctxt, SELECTIONTYPE_NORMAL, pos1, pos2, pdi,
 +                              paths, sel1, sel2, isdir, nPane, errmsg);
 +      else
 +              // Only one item selected, so perform diff on its sides
 +              success = GetOpenOneItem(ctxt, pos1, pdi,
 +                              paths, sel1, isdir, nPane, errmsg);
 +      if (!success)
        {
 -              bool success = OpenTwoItems(SELECTIONTYPE_NORMAL, pos1, pos2, pdi,
 -                              paths, sel1, sel2, isdir, nPane);
 -              if (!success)
 -                      return;
 -      }
 -      else
 -      {
 -              // Only one item selected, so perform diff on its sides
 -              bool success = OpenOneItem(pos1, pdi, paths, sel1, isdir, nPane);
 -              if (!success)
 -                      return;
 +              if (!errmsg.empty())
 +                      AfxMessageBox(errmsg.c_str(), MB_ICONSTOP);
 +              return;
        }
  
-       // Need to consider only regular file case here
-       // Close open documents first (ask to save unsaved data)
-       if (!GetOptionsMgr()->GetBool(OPT_MULTIDOC_MERGEDOCS))
-       {
-               if (!pDoc->CloseMergeDocs())
-                       return;
-       }
        // Open identical and different files
        bool bRO[3];
        for (int nIndex = 0; nIndex < paths.GetSize(); nIndex++)
Simple merge
Simple merge
diff --cc Src/MainFrm.cpp
Simple merge
diff --cc Src/MainFrm.h
Simple merge
diff --cc Src/Merge.cpp
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -45,17 -44,15 +45,15 @@@ static char THIS_FILE[] = __FILE__
   */
  PropGeneral::PropGeneral(COptionsMgr *optionsMgr) 
  : OptionsPanel(optionsMgr, PropGeneral::IDD)
 -, m_bScroll(FALSE)
 -, m_bSingleInstance(FALSE)
 -, m_bVerifyPaths(FALSE)
 +, m_bScroll(false)
 +, m_bSingleInstance(false)
 +, m_bVerifyPaths(false)
  , m_bCloseWindowWithEsc(TRUE)
 -, m_bAskMultiWindowClose(FALSE)
 +, m_bAskMultiWindowClose(false)
- , m_bMultipleFileCmp(false)
- , m_bMultipleDirCmp(false)
  , m_nAutoCompleteSource(0)
 -, m_bPreserveFiletime(FALSE)
 -, m_bShowSelectFolderOnStartup(FALSE)
 -, m_bCloseWithOK(TRUE)
 +, m_bPreserveFiletime(false)
 +, m_bShowSelectFolderOnStartup(false)
 +, m_bCloseWithOK(true)
  {
  }
  
@@@ -139,13 -132,11 +133,11 @@@ void PropGeneral::ReadOptions(
   */
  void PropGeneral::WriteOptions()
  {
 -      GetOptionsMgr()->SaveOption(OPT_SCROLL_TO_FIRST, m_bScroll == TRUE);
 -      GetOptionsMgr()->SaveOption(OPT_SINGLE_INSTANCE, m_bSingleInstance == TRUE);
 -      GetOptionsMgr()->SaveOption(OPT_VERIFY_OPEN_PATHS, m_bVerifyPaths == TRUE);
 -      GetOptionsMgr()->SaveOption(OPT_CLOSE_WITH_ESC, m_bCloseWindowWithEsc == TRUE);
 -      GetOptionsMgr()->SaveOption(OPT_ASK_MULTIWINDOW_CLOSE, m_bAskMultiWindowClose == TRUE);
 +      GetOptionsMgr()->SaveOption(OPT_SCROLL_TO_FIRST, m_bScroll);
 +      GetOptionsMgr()->SaveOption(OPT_SINGLE_INSTANCE, m_bSingleInstance);
 +      GetOptionsMgr()->SaveOption(OPT_VERIFY_OPEN_PATHS, m_bVerifyPaths);
 +      GetOptionsMgr()->SaveOption(OPT_CLOSE_WITH_ESC, m_bCloseWindowWithEsc);
 +      GetOptionsMgr()->SaveOption(OPT_ASK_MULTIWINDOW_CLOSE, m_bAskMultiWindowClose);
-       GetOptionsMgr()->SaveOption(OPT_MULTIDOC_MERGEDOCS, m_bMultipleFileCmp);
-       GetOptionsMgr()->SaveOption(OPT_MULTIDOC_DIRDOCS, m_bMultipleDirCmp);
        GetOptionsMgr()->SaveOption(OPT_AUTO_COMPLETE_SOURCE, m_nAutoCompleteSource);
        GetOptionsMgr()->SaveOption(OPT_PRESERVE_FILETIMES, m_bPreserveFiletime);
        GetOptionsMgr()->SaveOption(OPT_SHOW_SELECT_FILES_AT_STARTUP, m_bShowSelectFolderOnStartup);
@@@ -26,17 -26,15 +26,15 @@@ public
  // Dialog Data
        //{{AFX_DATA(PropGeneral)
        enum { IDD = IDD_PROPPAGE_GENERAL };
 -      BOOL  m_bScroll;
 -      BOOL  m_bSingleInstance;
 -      BOOL  m_bVerifyPaths;
 -      BOOL  m_bCloseWindowWithEsc;
 -      BOOL  m_bAskMultiWindowClose;
 -      int             m_nAutoCompleteSource;
 -      BOOL    m_bPreserveFiletime;
 -      BOOL    m_bShowSelectFolderOnStartup;
 -      BOOL    m_bCloseWithOK;
 +      bool  m_bScroll;
 +      bool  m_bSingleInstance;
 +      bool  m_bVerifyPaths;
 +      bool  m_bCloseWindowWithEsc;
 +      bool  m_bAskMultiWindowClose;
-       bool  m_bMultipleFileCmp;
-       bool  m_bMultipleDirCmp;
 +      int   m_nAutoCompleteSource;
 +      bool  m_bPreserveFiletime;
 +      bool  m_bShowSelectFolderOnStartup;
 +      bool  m_bCloseWithOK;
        CComboBox       m_ctlLangList;
        //}}AFX_DATA
  
diff --cc Src/StdAfx.h
Simple merge
Simple merge