Salome HOME
Merge from SALOME2 branch
[tools/install.git] / src / SALOME_ProductsView.cxx
index 5d38dff1ba5851114a0f9ba3617b4ad8dc9d557d..adace540898fc2230493ae32191269de03b0e801 100644 (file)
@@ -1,10 +1,9 @@
 //  File      : SALOME_ProductsView.cxx
 //  Created   : Thu Dec 18 12:01:00 2002
 //  Author    : Vadim SANDLER
-//  Project   : PAL/SALOME
-//  Module    : InstallWizard
-//  Copyright : 2004 CEA
-//  $Header$ 
+//  Project   : SALOME
+//  Module    : Installation Wizard
+//  Copyright : 2004-2005 CEA
 
 #include "SALOME_ProductsView.hxx"
 #include <qstringlist.h>
@@ -211,10 +210,10 @@ void ProductsView::setBinaries( QCheckListItem* item ) {
       }
       subItem = (QCheckListItem*)( subItem->nextSibling() );
     }
-    if ( srcItem )
-      srcItem->setOn( true );
-    if ( nativeItem )
+    if ( nativeItem )           // prefer native item
       nativeItem->setOn( true );
+    else if ( srcItem )
+      srcItem->setOn( true );
   }
   else {
     item->setOn( true );
@@ -231,16 +230,21 @@ void ProductsView::setSources( QCheckListItem* item )  {
   if ( item->childCount() > 0 ) {
     QCheckListItem* subItem = (QCheckListItem*)( item->firstChild() );
     QCheckListItem* binItem = 0;
+    QCheckListItem* nativeItem = 0;
     while( subItem ) {
       if ( subItem->text() == tr( "install binaries" ) )
        binItem = binItem;
+      if ( subItem->text() == tr( "use native" ) )
+       nativeItem = subItem;
       if ( subItem->text() == tr( "install sources" ) ) {
        subItem->setOn( true );
        return;
       }
       subItem = (QCheckListItem*)( subItem->nextSibling() );
     }
-    if ( binItem )
+    if ( nativeItem )           // prefer native item
+      nativeItem->setOn( true );
+    else if ( binItem )
       binItem->setOn( true );
   }
   else {
@@ -258,17 +262,22 @@ void ProductsView::setNative( QCheckListItem* item )  {
   if ( item->childCount() > 0 ) {
     QCheckListItem* subItem = (QCheckListItem*)( item->firstChild() );
     QCheckListItem* binItem = 0;
+    QCheckListItem* srcItem = 0;
     while( subItem ) {
       if ( subItem->text() == tr( "install binaries" ) )
        binItem = binItem;
+      if ( subItem->text() == tr( "install sources" ) )
+       srcItem = subItem;
       if ( subItem->text() == tr( "use native" ) ) {
        subItem->setOn( true );
        return;
       }
       subItem = (QCheckListItem*)( subItem->nextSibling() );
     }
-    if ( binItem )
+    if ( binItem )            // prefer binaries
       binItem->setOn( true );
+    else if ( srcItem )
+      srcItem->setOn( true );
   }
   else {
     item->setOn( true );