The MinGW.org Installation Manager Tool
Revision | dc65bde6c46e974b57d4c1a86542aea731a9289b (tree) |
---|---|
Time | 2013-10-03 06:07:03 |
Author | Keith Marshall <keithmarshall@user...> |
Commiter | Keith Marshall |
Support group affiliation with component package granularity.
@@ -1,3 +1,14 @@ | ||
1 | +2013-10-02 Keith Marshall <keithmarshall@users.sourceforge.net> | |
2 | + | |
3 | + Support group affiliation with component package granularity. | |
4 | + | |
5 | + * src/pkglist.cpp (pkgXmlNode::IsVisibleClass): Make it synonymous | |
6 | + with IsVisibleGroupMember(); this is a temporary adjustment, pending | |
7 | + the planned implementation of component class visibility filtering. | |
8 | + (pkgListViewMaker::Dispatch): Defer consideration of visibility until | |
9 | + traversal of component package directories, except in the particular | |
10 | + case of packages which lack defined components. | |
11 | + | |
1 | 12 | 2013-10-01 Keith Marshall <keithmarshall@users.sourceforge.net> |
2 | 13 | |
3 | 14 | Correct processing of package group associations. |
@@ -4,7 +4,7 @@ | ||
4 | 4 | * $Id$ |
5 | 5 | * |
6 | 6 | * Written by Keith Marshall <keithmarshall@users.sourceforge.net> |
7 | - * Copyright (C) 2012, MinGW Project | |
7 | + * Copyright (C) 2012, 2013, MinGW.org Project | |
8 | 8 | * |
9 | 9 | * |
10 | 10 | * Implementation of the methods for the pkgListViewMaker class, and |
@@ -129,7 +129,13 @@ inline bool pkgXmlNode::IsVisibleGroupMember() | ||
129 | 129 | return AppWindowMaker::IsPackageGroupAffiliate( this ); |
130 | 130 | } |
131 | 131 | |
132 | -inline bool pkgXmlNode::IsVisibleClass(){ return true; } | |
132 | +/* FIXME: Complementary check for component class visibility requires a | |
133 | + * future component class visibility control; for the time being, we may | |
134 | + * assume that any component package should be visible if it belongs to | |
135 | + * any visible package group, (including a component subset of such a | |
136 | + * group, which may comprise only itself). | |
137 | + */ | |
138 | +inline bool pkgXmlNode::IsVisibleClass(){ return IsVisibleGroupMember(); } | |
133 | 139 | |
134 | 140 | static char *pkgGetTitle( pkgXmlNode *pkg, const pkgXmlNode *xml_root ) |
135 | 141 | { |
@@ -437,7 +443,7 @@ void pkgListViewMaker::Dispatch( pkgXmlNode *package ) | ||
437 | 443 | * dispatching the content of the directory to the display service, |
438 | 444 | * (which, in this case, populates the list view window pane). |
439 | 445 | */ |
440 | - if( package->IsElementOfType( package_key ) && package->IsVisibleGroupMember() ) | |
446 | + if( package->IsElementOfType( package_key ) ) | |
441 | 447 | { |
442 | 448 | /* Assemble the package name into the list view record block. |
443 | 449 | */ |
@@ -455,8 +461,9 @@ void pkgListViewMaker::Dispatch( pkgXmlNode *package ) | ||
455 | 461 | dir->InOrder( this ); |
456 | 462 | delete dir; |
457 | 463 | } |
458 | - else | |
459 | - /* ...otherwise, simply insert an unclassified list entry | |
464 | + else if( package->IsVisibleGroupMember() ) | |
465 | + /* | |
466 | + * ...otherwise, simply insert an unclassified list entry | |
460 | 467 | * for the bare package name, omitting the component class. |
461 | 468 | */ |
462 | 469 | InsertItem( package, (char *)("") ); |