: m_pCtxt(nullptr)
, m_pDirView(nullptr)
, m_pCompareStats(nullptr)
-, m_bRecursive(FALSE)
, m_statusCursor(nullptr)
- , m_bReuseCloses(FALSE)
, m_bMarkedRescan(FALSE)
, m_pTempPathContext(nullptr)
{
// 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++)
*/
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)
{
}
*/
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);
// 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