Salome HOME
Fix a bug of config file for RedHat 9 - correct binaries distribution path
[tools/install.git] / src / SALOME_InstallWizard.cxx
index 98778c8983e736e6da426bcdc884187d72c34b9f..87fe009202beb1ffcceed957e8ca8b43a18cae7a 100644 (file)
@@ -1052,30 +1052,32 @@ bool SALOME_InstallWizard::acceptData( const QString& pageTitle )
     QString tmpFolder = QDir::cleanDirPath( tempFolder->text().stripWhiteSpace() ) + TEMPDIRNAME;
     QString tgtFolder = QDir::cleanDirPath( targetFolder->text().stripWhiteSpace() );
     myThread->clearCommands();
-    for ( unsigned i = 0; i < natives.count(); i++ ) {
-      item = findItem( natives[ i ] );
-      if ( item ) {
-       QString dependOn = productsMap[ item ].getDependancies().join(" ");
-       QString script = "cd ./config_files/;" + item->text(2) + " try_native " +
-               QFileInfo( tmpFolder ).absFilePath() + " " + QDir::currentDirPath() + "/Products " + QFileInfo( tgtFolder ).absFilePath() + " " +
-               QUOTE(dependOn) + " " + item->text(0);
+    if ( natives.count() > 0 ) {
+      for ( unsigned i = 0; i < natives.count(); i++ ) {
+       item = findItem( natives[ i ] );
+       if ( item ) {
+         QString dependOn = productsMap[ item ].getDependancies().join(" ");
+         QString script = "cd ./config_files/;" + item->text(2) + " try_native " +
+                 QFileInfo( tmpFolder ).absFilePath() + " " + QDir::currentDirPath() + "/Products " + QFileInfo( tgtFolder ).absFilePath() + " " +
+                 QUOTE(dependOn) + " " + item->text(0);
 
-       myThread->addCommand( item, script );
-      }
-      else {
-       QMessageBox::warning( this, 
-                             tr( "Warning" ), 
-                             tr( "%The product %1 %2 required for installation.\n"
-                                 "Please, add this product in config.xml file.").arg(item->text(0)).arg(item->text(1)),
-                             QMessageBox::Ok, 
-                             QMessageBox::NoButton, 
-                             QMessageBox::NoButton );
-       return false;
+         myThread->addCommand( item, script );
+       }
+       else {
+         QMessageBox::warning( this, 
+                               tr( "Warning" ), 
+                               tr( "%The product %1 %2 required for installation.\n"
+                                   "Please, add this product in config.xml file.").arg(item->text(0)).arg(item->text(1)),
+                               QMessageBox::Ok, 
+                               QMessageBox::NoButton, 
+                               QMessageBox::NoButton );
+         return false;
+       }
       }
+      WarnDialog::showWarnDlg( this, true );
+      myThread->start();
+      return true; // return in order to avoid default postValidateEvent() action
     }
-    WarnDialog::showWarnDlg( this, true );
-    myThread->start();
-    return true; // return in order to avoid default postValidateEvent() action
   }
   return InstallWizard::acceptData( pageTitle );
 }
@@ -1282,14 +1284,14 @@ void SALOME_InstallWizard::launchScript()
     }
   }
   // <Next> button
-  nextButton()->setEnabled( true );
+  setNextEnabled( true );
   nextButton()->setText( tr( "&Next >" ) );
   QWhatsThis::add( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
   QToolTip::add  ( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
   nextButton()->disconnect();
   connect( nextButton(), SIGNAL( clicked() ), this, SLOT( next() ) );
   // <Back> button
-  backButton()->setEnabled( true );
+  setBackEnabled( true );
   // script parameters
   passedParams->clear();
   passedParams->setEnabled( false );
@@ -1511,7 +1513,7 @@ void SALOME_InstallWizard::pageChanged( const QString & mytitle)
       // reconnect Next button - to use it as Start button
       nextButton()->disconnect();
       connect( nextButton(), SIGNAL( clicked() ), this, SLOT( onStart() ) );
-      nextButton()->setEnabled( true );
+      setNextEnabled( true );
       // reconnect Cancel button to terminate process
       cancelButton()->disconnect();
       connect( cancelButton(), SIGNAL( clicked() ), this, SLOT( tryTerminate() ) );
@@ -1608,9 +1610,9 @@ void SALOME_InstallWizard::onStart()
   if ( !toInstall.isEmpty() ) {
     clean(false); // VSR 07/02/05 - bug fix: first we should clear temporary directory
     // disable <Next> button
-    nextButton()->setEnabled( false );
+    setNextEnabled( false );
     // disable <Back> button
-    backButton()->setEnabled ( false );
+    setBackEnabled( false );
     // enable script parameters line edit
     // VSR commented: 18/09/03: passedParams->setEnabled( true );
     // VSR commented: 18/09/03: passedParams->setFocus();
@@ -1669,14 +1671,14 @@ void SALOME_InstallWizard::productInstalled( )
     passedParams->setEnabled( false );
     QFont f = parametersLab->font(); f.setBold( false ); parametersLab->setFont( f );
     // enable <Next> button
-    nextButton()->setEnabled( true );
+    setNextEnabled( true );
     nextButton()->setText( tr( "&Next >" ) );
     QWhatsThis::add( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
     QToolTip::add  ( nextButton(), tr( "Moves to the next step of the installation procedure" ) );
     nextButton()->disconnect();
     connect( nextButton(), SIGNAL( clicked() ), this, SLOT( next() ) );
     // enable <Back> button
-    backButton()->setEnabled( true );
+    setBackEnabled( true );
   }
 }
 // ================================================================
@@ -1930,8 +1932,11 @@ void SALOME_InstallWizard::processValidateEvent( const int val, void* data )
                                QMessageBox::NoButton ) == QMessageBox::No ) {
        myThread->clearCommands();
        myWC.wakeAll();
+       setNextEnabled( true );
+       setBackEnabled( true );
        return;
       }
+      WarnDialog::showWarnDlg( this, true );
     }
     else {
       WarnDialog::showWarnDlg( 0, false );
@@ -1941,9 +1946,11 @@ void SALOME_InstallWizard::processValidateEvent( const int val, void* data )
                           QMessageBox::Ok, 
                           QMessageBox::NoButton, 
                           QMessageBox::NoButton );
-      productsView->setNone( item );
       myThread->clearCommands();
       myWC.wakeAll();
+      setNextEnabled( true );
+      setBackEnabled( true );
+      productsView->setNone( item );
       return;
     }
   }