int totBin = 0, selBin = 0;
MapProducts::Iterator itProd;
for ( itProd = productsMap.begin(); itProd != productsMap.end(); ++itProd ) {
- if ( itProd.data().getContext() == "salome sources" ) {
- totSrc++;
- if ( productsView->isSources( itProd.key() ) )
- selSrc++;
- }
- if ( itProd.data().getContext() == "salome binaries" ) {
- totBin++;
- if ( productsView->isBinaries( itProd.key() ) )
- selBin++;
+ bool srcctx = itProd.data().hasContext( "salome sources" );
+ bool binctx = itProd.data().hasContext( "salome binaries" );
+ if ( srcctx ) totSrc++;
+ if ( binctx ) totBin++;
+ if ( srcctx && !binctx && productsView->isSources( itProd.key() ) )
+ selSrc++;
+ if ( !srcctx && binctx && productsView->isBinaries( itProd.key() ) )
+ selBin++;
+ if ( srcctx && binctx &&
+ ( productsView->isSources( itProd.key() ) ||
+ productsView->isBinaries( itProd.key() ) ) ) {
+ selSrc++;
+ selBin++;
}
}
selectSrcBtn->blockSignals( true );
checkBox->setState( QButton::On );
MapProducts::Iterator itProd;
for ( itProd = productsMap.begin(); itProd != productsMap.end(); ++itProd ) {
- if ( itProd.data().getContext() == "salome sources" ) {
+ if ( itProd.data().hasContext( "salome sources" ) ) {
if ( checkBox->state() == QButton::Off )
productsView->setNone( itProd.key() );
- else
+ else {
productsView->setSources( itProd.key() );
+ if ( prerequisites->isChecked() )
+ setPrerequisites( itProd.key() );
+ }
}
}
}
checkBox->setState( QButton::On );
MapProducts::Iterator itProd;
for ( itProd = productsMap.begin(); itProd != productsMap.end(); ++itProd ) {
- if ( itProd.data().getContext() == "salome binaries" ) {
+ if ( itProd.data().hasContext( "salome binaries" ) ) {
if ( checkBox->state() == QButton::Off )
productsView->setNone( itProd.key() );
- else
+ else {
productsView->setBinaries( itProd.key() );
+ if ( prerequisites->isChecked() )
+ setPrerequisites( itProd.key() );
+ }
}
}
}