[Winmerge-svn] SF.net SVN: winmerge:[6390] branches/R2_12
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ki...@us...> - 2009-01-27 19:47:46
|
Revision: 6390 http://winmerge.svn.sourceforge.net/winmerge/?rev=6390&view=rev Author: kimmov Date: 2009-01-27 19:47:40 +0000 (Tue, 27 Jan 2009) Log Message: ----------- BUG: [ 2528749 ] Disable "Show * Unique Items" don't hide folders Modified Paths: -------------- branches/R2_12/Docs/Users/ChangeLog.txt branches/R2_12/Src/DirDoc.cpp Modified: branches/R2_12/Docs/Users/ChangeLog.txt =================================================================== --- branches/R2_12/Docs/Users/ChangeLog.txt 2009-01-27 19:42:42 UTC (rev 6389) +++ branches/R2_12/Docs/Users/ChangeLog.txt 2009-01-27 19:47:40 UTC (rev 6390) @@ -22,6 +22,7 @@ Bugfix: Wrong number shown for difference when using line filters (#2493980) Bugfix: Crashed if compared file disappeared during file compare (#2493945) Bugfix: Creating new files caused message about missing files (#2515875) + Bugfix: Could not hide folders in recursive compare (#2528749) Translation updates: - Brazilian (#2461443, #2524796) - Chinese Traditional (#2540115) Modified: branches/R2_12/Src/DirDoc.cpp =================================================================== --- branches/R2_12/Src/DirDoc.cpp 2009-01-27 19:42:42 UTC (rev 6389) +++ branches/R2_12/Src/DirDoc.cpp 2009-01-27 19:47:40 UTC (rev 6390) @@ -383,6 +383,12 @@ /** * @brief Determines if the user wants to see given item. + * This function determines what items to show and what items to hide. There + * are lots of combinations, but basically we check if menuitem is enabled or + * disabled and show/hide matching items. For non-recursive compare we never + * hide folders as that would disable user browsing into them. And we even + * don't really know if folders are identical or different as we haven't + * compared them. * @param [in] di Item to check. * @return TRUE if item should be shown, FALSE if not. * @sa CDirDoc::Redisplay() @@ -414,6 +420,24 @@ if (di.diffcode.isSideRightOnly() && !GetOptionsMgr()->GetBool(OPT_SHOW_UNIQUE_RIGHT)) return FALSE; } + else // recursive (perhaps 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; + // 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 { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |