Salome HOME
1) Fix of IPAL20626: It is not possible to build products and Salome modules from...
authormaintenance team <salome-mnt@opencascade.com>
Wed, 26 Nov 2008 13:53:28 +0000 (13:53 +0000)
committermaintenance team <salome-mnt@opencascade.com>
Wed, 26 Nov 2008 13:53:28 +0000 (13:53 +0000)
2) Check the binaries directory that it's not empty.

bin/SALOME_InstallWizard
src/SALOME_InstallWizard.cxx

index ab2f7f38f926bc7ade1456e0c56fadc3410fc7a7..a3bac93f8243d8fc32a284838a36e32c91a57209 100755 (executable)
Binary files a/bin/SALOME_InstallWizard and b/bin/SALOME_InstallWizard differ
index b5ec6711bab3c16f6b075b65f256bb2ac6e9662d..e46496445bf271e29aad0a7813d65654c5ffb1a0 100644 (file)
@@ -520,7 +520,7 @@ SALOME_InstallWizard::SALOME_InstallWizard(const QString& aXmlFileName,
   addLogo( pixmap( pxLogo ) );
 
   // set defaults
-  setVersion( "4.1.3" );
+  setVersion( "4.1.4" );
   setCaption( tr( "SALOME %1" ).arg( myVersion ) );
   setCopyright( tr( "Copyright (C) 2008 CEA" ) );
   setLicense( tr( "All rights reserved." ) );
@@ -1495,6 +1495,29 @@ bool SALOME_InstallWizard::acceptData( const QString& pageTitle )
                            QMessageBox::NoButton );
       return false;
     }
+    else if ( installType == Binaries ) {
+      QString aPlatform = platBtnGrp->selected()->name();
+      QFileInfo fib( getPlatformBinPath( aPlatform ) );
+      if ( !fib.isDir() ) {
+       QMessageBox::warning( this,
+                             tr( "Warning" ),
+                             tr( "The directory %1 doesn't exist.\n"
+                                 "This directory must contains binary archives.\n" ).arg( fib.absFilePath() ),
+                             QMessageBox::Ok,
+                             QMessageBox::NoButton, 
+                             QMessageBox::NoButton );
+       return false;
+      }
+      else if ( QDir( fib.filePath(), "*.tar.gz" ).count() == 0 ) {
+       QMessageBox::warning( this,
+                             tr( "Warning" ),
+                             tr( "The directory %1 doesn't contain binary archives.\n" ).arg( fib.absFilePath() ),
+                             QMessageBox::Ok,
+                             QMessageBox::NoButton, 
+                             QMessageBox::NoButton );
+       return false;
+      }
+    }
   }
 
   else if ( aPage == dirPage ) {
@@ -2472,14 +2495,10 @@ void SALOME_InstallWizard::pageChanged( const QString & mytitle)
        QRadioButton* rb = ( (QRadioButton*) platBtnGrp->child( plat ) );
        if ( installType == Binaries ) {
          QFileInfo fib( getPlatformBinPath( plat ) );
-         rb->setEnabled( fib.exists() );
+         rb->setEnabled( true/*fib.isDir()*/ );
          if ( platBtnGrp->id( platBtnGrp->selected() ) == -1 && plat == getBasePlatform() )
            rb->animateClick();
        }
-       else {
-         QFileInfo fis( QDir::cleanDirPath( getSrcPath() ) );
-         rb->setEnabled( fis.exists() );
-       }
 //     rb->setChecked( rb->isChecked() && rb->isEnabled() );
        if ( rb->isChecked() && rb->isEnabled() )
          rb->animateClick();
@@ -2601,8 +2620,8 @@ void SALOME_InstallWizard::onButtonGroup( int rbIndex )
   int prevType = installType;
   QString prevPlat = getPlatform();
   QWidget* aPage = InstallWizard::currentPage();
-  installType = InstallationType( rbIndex );
   if ( aPage == typePage ) {
+    installType = InstallationType( rbIndex );
     // management of the <Remove source and tmp files> check-box
     removeSrcBtn->setEnabled( installType == Compile );
     oneModDirBtn->setEnabled( installType == Binaries /*|| installType == Compile*/ );