From: Kimmo Varis Date: Wed, 28 Jan 2009 16:37:54 +0000 (+0000) Subject: BUG: [ 2129561 ] Must Show Different to Show L/R Unique: Fldr Cmpr X-Git-Tag: 2.16.5~2605 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=a1c052c0dfe03d3def998baa97937548d7928ebd;p=winmerge-jp%2Fwinmerge-jp.git BUG: [ 2129561 ] Must Show Different to Show L/R Unique: Fldr Cmpr --- diff --git a/Docs/Users/ChangeLog.txt b/Docs/Users/ChangeLog.txt index 24f26e49f..91b80181f 100644 --- a/Docs/Users/ChangeLog.txt +++ b/Docs/Users/ChangeLog.txt @@ -9,6 +9,7 @@ WinMerge 2.13.2 Bugfix: Could not hide folders in recursive compare (#2528749) Bugfix: Folder Compare:Copy Right/Left don't create folder structure (#2529517) + Bugfix: Must Show Different to Show L/R Unique (#2129561) Translation updates: - Brazilian (#2524796) - Chinese Traditional (#2540115) diff --git a/Src/DirDoc.cpp b/Src/DirDoc.cpp index 0c6724a49..b06e5211e 100644 --- a/Src/DirDoc.cpp +++ b/Src/DirDoc.cpp @@ -410,18 +410,24 @@ BOOL CDirDoc::IsShowable(const DIFFITEM & di) // Subfolders in non-recursive compare can only be skipped or unique if (!m_bRecursive) { - // result filters - if (di.diffcode.isResultError() && !GetMainFrame()->m_bShowErrors) - return FALSE; - // left/right filters if (di.diffcode.isSideLeftOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_LEFT)) return FALSE; if (di.diffcode.isSideRightOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_RIGHT)) return FALSE; + + // result filters + if (di.diffcode.isResultError() && !GetMainFrame()->m_bShowErrors) + return FALSE; } else // recursive (perhaps tree?) mode { + // left/right filters + if (di.diffcode.isSideLeftOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_LEFT)) + return FALSE; + if (di.diffcode.isSideRightOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_RIGHT)) + return FALSE; + // result filters if (di.diffcode.isResultError() && !GetMainFrame()->m_bShowErrors) return FALSE; @@ -431,16 +437,16 @@ BOOL CDirDoc::IsShowable(const DIFFITEM & di) return FALSE; if (di.diffcode.isResultDiff() && !GetOptionsMgr()->GetBool(OPT_SHOW_DIFFERENT)) return FALSE; - // left/right filters - if (di.diffcode.isSideLeftOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_LEFT)) - return FALSE; - if (di.diffcode.isSideRightOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_RIGHT)) - return FALSE; - } } else { + // left/right filters + if (di.diffcode.isSideLeftOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_LEFT)) + return FALSE; + if (di.diffcode.isSideRightOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_RIGHT)) + return FALSE; + // file type filters if (di.diffcode.isBin() && !GetOptionsMgr()->GetBool(OPT_SHOW_BINARIES)) return FALSE; @@ -452,12 +458,6 @@ BOOL CDirDoc::IsShowable(const DIFFITEM & di) return FALSE; if (di.diffcode.isResultDiff() && !GetOptionsMgr()->GetBool(OPT_SHOW_DIFFERENT)) return FALSE; - - // left/right filters - if (di.diffcode.isSideLeftOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_LEFT)) - return FALSE; - if (di.diffcode.isSideRightOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_RIGHT)) - return FALSE; } return TRUE; }