[Winmerge-svn] SF.net SVN: winmerge:[6495] trunk
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ki...@us...> - 2009-02-25 09:35:25
|
Revision: 6495 http://winmerge.svn.sourceforge.net/winmerge/?rev=6495&view=rev Author: kimmov Date: 2009-02-25 09:35:22 +0000 (Wed, 25 Feb 2009) Log Message: ----------- BUG: [ 2129561 ] Must Show Different to Show L/R Unique: Fldr Cmpr Show/hide by identical/different status only in tree-mode Modified Paths: -------------- trunk/Docs/Users/ChangeLog.txt trunk/Src/DirDoc.cpp Modified: trunk/Docs/Users/ChangeLog.txt =================================================================== --- trunk/Docs/Users/ChangeLog.txt 2009-02-25 09:13:23 UTC (rev 6494) +++ trunk/Docs/Users/ChangeLog.txt 2009-02-25 09:35:22 UTC (rev 6495) @@ -7,6 +7,7 @@ Put temp files to per-instance subfolder in temp folder (#2582768) Bugfix: Files without extension get backed up to name..bak (#2627752) Bugfix: Crash opening config log (#2630027) + Bugfix: Must Show Different to Show L/R Unique (#2129561) Translation updates: - Galician (#2632173) - Greek (#2615285) Modified: trunk/Src/DirDoc.cpp =================================================================== --- trunk/Src/DirDoc.cpp 2009-02-25 09:13:23 UTC (rev 6494) +++ trunk/Src/DirDoc.cpp 2009-02-25 09:35:22 UTC (rev 6495) @@ -420,7 +420,7 @@ if (di.diffcode.isResultError() && !GetMainFrame()->m_bShowErrors) return FALSE; } - else // recursive (perhaps tree?) mode + else // recursive mode (including tree-mode) { // left/right filters if (di.diffcode.isSideLeftOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_LEFT)) @@ -428,15 +428,23 @@ if (di.diffcode.isSideRightOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_RIGHT)) return FALSE; - // result filters - if (di.diffcode.isResultError() && !GetMainFrame()->m_bShowErrors) - return FALSE; + // ONLY filter folders by result (identical/different) for tree-view. + // In the tree-view we show subfolders with identical/different + // status. The flat view only shows files inside folders. So if we + // filter by status the files inside folder are filtered too and + // users see files appearing/disappearing without clear logic. + if (GetOptionsMgr()->GetBool(OPT_TREE_MODE)) + { + // result filters + if (di.diffcode.isResultError() && !GetMainFrame()->m_bShowErrors) + return FALSE; - // result filters - if (di.diffcode.isResultSame() && !GetOptionsMgr()->GetBool(OPT_SHOW_IDENTICAL)) - return FALSE; - if (di.diffcode.isResultDiff() && !GetOptionsMgr()->GetBool(OPT_SHOW_DIFFERENT)) - return FALSE; + // result filters + if (di.diffcode.isResultSame() && !GetOptionsMgr()->GetBool(OPT_SHOW_IDENTICAL)) + return FALSE; + if (di.diffcode.isResultDiff() && !GetOptionsMgr()->GetBool(OPT_SHOW_DIFFERENT)) + return FALSE; + } } } else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |