From: vsr Date: Tue, 26 Dec 2006 12:39:53 +0000 (+0000) Subject: Implement features: X-Git-Tag: V_3_2_4~16 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=16ceb9692053da916f37318b666fbfa41a2b2de6;p=tools%2Finstall.git Implement features: - install and build SALOME module sources - install all products from sources --- diff --git a/src/SALOME_InstallWizard.cxx b/src/SALOME_InstallWizard.cxx index 97b7bfa..b568206 100644 --- a/src/SALOME_InstallWizard.cxx +++ b/src/SALOME_InstallWizard.cxx @@ -221,6 +221,18 @@ static QString DefineDependeces(MapProducts& theProductsMap) return aProducts.join(" "); } +// ================================================================ +/*! + * setAboutInfo [ static ] + * Sets 'what's this' and 'tooltip' information for the widget + */ +// ================================================================ +static void setAboutInfo( QWidget* widget, const QString& tip ) +{ + QWhatsThis::add( widget, tip ); + QToolTip::add ( widget, tip ); +} + #define QUOTE(arg) QString("'") + QString(arg) + QString("'") /* =-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= @@ -514,16 +526,11 @@ SALOME_InstallWizard::SALOME_InstallWizard(const QString& aXmlFileName, setupReadmePage(); // common buttons - QWhatsThis::add( backButton(), tr( "Returns to the previous step of the installation procedure" ) ); - QToolTip::add ( backButton(), tr( "Returns to the previous step of the installation procedure" ) ); - 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" ) ); - QWhatsThis::add( finishButton(), tr( "Finishes installation and quits program" ) ); - QToolTip::add ( finishButton(), tr( "Finishes installation and quits program" ) ); - QWhatsThis::add( cancelButton(), tr( "Cancels installation and quits program" ) ); - QToolTip::add ( cancelButton(), tr( "Cancels installation and quits program" ) ); - QWhatsThis::add( helpButton(), tr( "Displays help information window" ) ); - QToolTip::add ( helpButton(), tr( "Displays help information window" ) ); + setAboutInfo( backButton(), tr( "Return to the previous step\nof the installation procedure" ) ); + setAboutInfo( nextButton(), tr( "Move to the next step\nof the installation procedure" ) ); + setAboutInfo( finishButton(), tr( "Finish the installation and quit the program" ) ); + setAboutInfo( cancelButton(), tr( "Cancel the installation and quit the program" ) ); + setAboutInfo( helpButton(), tr( "Show the help information" ) ); // common signals connections connect( this, SIGNAL( selected( const QString& ) ), @@ -668,57 +675,38 @@ void SALOME_InstallWizard::setupIntroPage() // ================================================================ void SALOME_InstallWizard::setupProductsPage() { + // // create page + // productsPage = new QWidget( this, "ProductsPage" ); QGridLayout* pageLayout = new QGridLayout( productsPage ); pageLayout->setMargin( 0 ); pageLayout->setSpacing( 6 ); - // target directory - QLabel* targetLab = new QLabel( tr( "Type the target directory:" ), productsPage ); + // + // create common widgets + // + // ... target directory + QLabel* targetLab = new QLabel( tr( "Installation directory:" ), productsPage ); targetFolder = new QLineEdit( productsPage ); - QWhatsThis::add( targetFolder, tr( "Enter target root directory where products will be installed" ) ); - QToolTip::add ( targetFolder, tr( "Enter target root directory where products will be installed" ) ); + setAboutInfo( targetFolder, tr( "Enter the target directory where the products\nshould be installed to" ) ); targetBtn = new QPushButton( tr( "Browse..." ), productsPage ); - QWhatsThis::add( targetBtn, tr( "Click this to browse target directory" ) ); - QToolTip::add ( targetBtn, tr( "Click this to browse target directory" ) ); - // create advanced mode widgets container - moreBox = new QWidget( productsPage ); - QGridLayout* moreBoxLayout = new QGridLayout( moreBox ); - moreBoxLayout->setMargin( 0 ); moreBoxLayout->setSpacing( 6 ); - // temp directory - QLabel* tempLab = new QLabel( tr( "Type the directory for the temporary files:" ), moreBox ); - tempFolder = new QLineEdit( moreBox ); - // tempFolder->setText( "/tmp" ); // default is /tmp directory - QWhatsThis::add( tempFolder, tr( "Enter directory where to put temporary files" ) ); - QToolTip::add ( tempFolder, tr( "Enter directory where to put temporary files" ) ); - tempBtn = new QPushButton( tr( "Browse..." ), moreBox ); - tempBtn->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ) ); - QWhatsThis::add( tempBtn, tr( "Click this to browse temporary directory" ) ); - QToolTip::add ( tempBtn, tr( "Click this to browse temporary directory" ) ); - // create products list - productsView = new ProductsView( moreBox ); - productsView->setMinimumSize( 250, 180 ); - QWhatsThis::add( productsView, tr( "This view lists the products you wish to be installed" ) ); - QToolTip::add ( productsView, tr( "This view lists the products you wish to be installed" ) ); - // products info box - productsInfo = new QTextBrowser( moreBox ); - productsInfo->setMinimumSize( 270, 135 ); - QWhatsThis::add( productsInfo, tr( "Shows info about the product: required disk space and prerequisites" ) ); - QToolTip::add ( productsInfo, tr( "Shows info about the product: required disk space and prerequisites" ) ); - // disk space labels - QLabel* reqLab1 = new QLabel( tr( "Total disk space required:" ), moreBox ); - QWhatsThis::add( reqLab1, tr( "Shows total disk space required for installing selected products" ) ); - QToolTip::add ( reqLab1, tr( "Shows total disk space required for installing selected products" ) ); - requiredSize = new QLabel( moreBox ); + setAboutInfo( targetBtn, tr( "Click this button to browse\nthe installation directory" ) ); + // ... temporary directory + QLabel* tempLab = new QLabel( tr( "Temporary directory:" ), productsPage ); + tempFolder = new QLineEdit( productsPage ); + setAboutInfo( tempFolder, tr( "The directory which should be used\nfor temporary files" ) ); + tempBtn = new QPushButton( tr( "Browse..." ), productsPage ); + setAboutInfo( tempBtn, tr( "Click this button to browse\nthe temporary directory" ) ); + // ... disk space labels + QLabel* reqLab1 = new QLabel( tr( "Disk space required:" ), productsPage ); + setAboutInfo( reqLab1, tr( "Total disk space required for the installation\nof the selected products" ) ); + requiredSize = new QLabel( productsPage ); requiredSize->setMinimumWidth( 100 ); - QWhatsThis::add( requiredSize, tr( "Shows total disk space required for installing selected products" ) ); - QToolTip::add ( requiredSize, tr( "Shows total disk space required for installing selected products" ) ); - QLabel* reqLab2 = new QLabel( tr( "Space for temporary files:" ), moreBox ); - QWhatsThis::add( reqLab2, tr( "Shows additional disk space which is required for temporary files" ) ); - QToolTip::add ( reqLab2, tr( "Shows additional disk space which is required for temporary files" ) ); - requiredTemp = new QLabel( moreBox ); + setAboutInfo( requiredSize, tr( "Total disk space required for the installation\nof the selected products" ) ); + QLabel* reqLab2 = new QLabel( tr( "Space for temporary files:" ), productsPage ); + setAboutInfo( reqLab2, tr( "Disk space required for the temporary files" ) ); + requiredTemp = new QLabel( productsPage ); requiredTemp->setMinimumWidth( 100 ); - QWhatsThis::add( requiredTemp, tr( "Shows additional disk space which is required for temporary files" ) ); - QToolTip::add ( requiredTemp, tr( "Shows additional disk space which is required for temporary files" ) ); + setAboutInfo( requiredTemp, tr( "Disk space required for the temporary files" ) ); QFont fnt = reqLab1->font(); fnt.setBold( true ); reqLab1->setFont( fnt ); @@ -730,27 +718,39 @@ void SALOME_InstallWizard::setupProductsPage() sizeLayout->addWidget( requiredSize, 0, 1 ); sizeLayout->addWidget( reqLab2, 1, 0 ); sizeLayout->addWidget( requiredTemp, 1, 1 ); - // prerequisites checkbox - prerequisites = new QCheckBox( tr( "Auto set prerequisites products" ), moreBox ); + // + // create mode widgets container + // + moreBox = new QWidget( productsPage ); + QGridLayout* moreBoxLayout = new QGridLayout( moreBox ); + moreBoxLayout->setMargin( 0 ); moreBoxLayout->setSpacing( 6 ); + // + // create mode widgets + // + // ... products list + productsView = new ProductsView( moreBox ); + productsView->setMinimumSize( 250, 180 ); + setAboutInfo( productsView, tr( "The products available for the installation" ) ); + // ... products info box + productsInfo = new QTextBrowser( moreBox ); + productsInfo->setMinimumSize( 270, 135 ); + setAboutInfo( productsInfo, tr( "Short information about the product being selected" ) ); + // ... prerequisites checkbox + prerequisites = new QCheckBox( tr( "Automatic dependencies" ), moreBox ); prerequisites->setChecked( true ); - QWhatsThis::add( prerequisites, tr( "Check this if you want prerequisites products to be set on automatically" ) ); - QToolTip::add ( prerequisites, tr( "Check this if you want prerequisites products to be set on automatically" ) ); - // button + setAboutInfo( prerequisites, tr( "Check this box if you want the prerequisite products\nto be selected automatically" ) ); + // ... button unselectBtn = new QPushButton( tr( "&Unselect All" ), moreBox ); - QWhatsThis::add( unselectBtn, tr( "Unselects all products" ) ); - QToolTip::add ( unselectBtn, tr( "Unselects all products" ) ); - // / tri-state checkboxes + setAboutInfo( unselectBtn, tr( "Click this button to deselect all the products" ) ); + // ... and tri-state checkboxes selectBinBtn = new QMyCheckBox( tr( "SALOME binaries" ), moreBox ); selectBinBtn->setTristate( true ); - QWhatsThis::add( selectBinBtn, tr( "Selects/unselects SALOME binaries" ) ); - QToolTip::add ( selectBinBtn, tr( "Selects/unselects SALOME binaries" ) ); + setAboutInfo( selectBinBtn, tr( "Click this button to select/deselect SALOME binaries" ) ); selectSrcBtn = new QMyCheckBox( tr( "SALOME sources" ), moreBox ); selectSrcBtn->setTristate( true ); - QWhatsThis::add( selectSrcBtn, tr( "Selects/unselects SALOME sources" ) ); - QToolTip::add ( selectSrcBtn, tr( "Selects/unselects SALOME sources" ) ); + setAboutInfo( selectSrcBtn, tr( "Click this button to select/deselect SALOME sources" ) ); buildSrcBtn = new QMyCheckBox( tr( "Build SALOME sources" ), moreBox ); - QWhatsThis::add( buildSrcBtn, tr( "Check this box if you want to build selected SALOME sources after the installation" ) ); - QToolTip::add ( buildSrcBtn, tr( "Check this box if you want to build selected SALOME sources after the installation" ) ); + setAboutInfo( buildSrcBtn, tr( "Check this box if you want to build selected\nSALOME modules from sources" ) ); QGridLayout* btnLayout = new QGridLayout; btnLayout->setMargin( 0 ); btnLayout->setSpacing( 6 ); btnLayout->addMultiCellWidget( unselectBtn, 0, 0, 0, 1 ); btnLayout->addMultiCellWidget( selectBinBtn, 1, 1, 0, 1 ); @@ -758,37 +758,53 @@ void SALOME_InstallWizard::setupProductsPage() btnLayout->addWidget( buildSrcBtn, 3, 1 ); btnLayout->setColSpacing( 0, 20 ); btnLayout->setColStretch( 1, 10 ); - // layouting advancet mode widgets - moreBoxLayout->addMultiCellWidget( tempLab, 0, 0, 0, 2 ); - moreBoxLayout->addMultiCellWidget( tempFolder, 1, 1, 0, 1 ); - moreBoxLayout->addWidget ( tempBtn, 1, 2 ); - moreBoxLayout->addMultiCellWidget( productsView, 2, 5, 0, 0 ); - moreBoxLayout->addMultiCellWidget( productsInfo, 2, 2, 1, 2 ); - moreBoxLayout->addMultiCellWidget( prerequisites,3, 3, 1, 2 ); - moreBoxLayout->addMultiCellLayout( btnLayout, 4, 4, 1, 2 ); - moreBoxLayout->addMultiCellLayout( sizeLayout, 5, 5, 1, 2 ); - // box + // + // layout mode widgets + // + moreBoxLayout->addMultiCellWidget( productsView, 0, 3, 0, 0 ); + moreBoxLayout->addWidget( productsInfo, 0, 1 ); + moreBoxLayout->addWidget( prerequisites,1, 1 ); + moreBoxLayout->addLayout( btnLayout, 2, 1 ); + // + // create mode widgets container + // lessBox = new QWidget( productsPage ); QGridLayout* lessBoxLayout = new QGridLayout( lessBox ); lessBoxLayout->setMargin( 0 ); lessBoxLayout->setSpacing( 6 ); - // check box + // + // create mode widgets + // + // ... check box allFromSrcBtn = new QMyCheckBox( tr( "Install all products from sources" ), lessBox ); + setAboutInfo( allFromSrcBtn, tr( "Check this box if you want to build\nall the products from sources.\n\nWarning: this is long-time operation!" ) ); lessBoxLayout->addWidget( allFromSrcBtn, 0, 0 ); lessBoxLayout->setRowStretch( 1, 10 ); - //lessBoxLayout->addItem( new QSpacerItem( 10,10, QSizePolicy::Minimum, QSizePolicy ), 1, 1 ); - // button + // + // create / button + // moreBtn = new QPushButton( tr( "More..." ), productsPage ); - // layouting + setAboutInfo( moreBtn, tr( "Switch to the advanced mode" ) ); + // + // layout all widgets + // + QFrame* line = new QFrame( productsPage, "line" ); + line->setFrameStyle( QFrame::HLine | QFrame::Sunken ); pageLayout->addMultiCellWidget( targetLab, 0, 0, 0, 1 ); pageLayout->addWidget ( targetFolder, 1, 0 ); pageLayout->addWidget ( targetBtn, 1, 1 ); - pageLayout->addMultiCellWidget( moreBox, 2, 2, 0, 1 ); - pageLayout->addMultiCellWidget( lessBox, 3, 3, 0, 1 ); - pageLayout->addWidget ( moreBtn, 4, 1 ); - pageLayout->setRowStretch( 2, 5 ); - pageLayout->setRowStretch( 3, 5 ); - //pageLayout->addRowSpacing( 6, 10 ); + pageLayout->addMultiCellWidget( tempLab, 2, 2, 0, 1 ); + pageLayout->addWidget ( tempFolder, 3, 0 ); + pageLayout->addWidget ( tempBtn, 3, 1 ); + pageLayout->addMultiCellWidget( moreBox, 4, 4, 0, 1 ); + pageLayout->addMultiCellWidget( lessBox, 5, 5, 0, 1 ); + pageLayout->addMultiCellWidget( line, 6, 6, 0, 1 ); + pageLayout->addLayout ( sizeLayout, 7, 0 ); + pageLayout->addWidget ( moreBtn, 7, 1 ); + pageLayout->setRowStretch( 4, 5 ); + pageLayout->setRowStretch( 5, 5 ); + // // xml reader + // QFile xmlfile(xmlFileName); if ( xmlfile.exists() ) { QXmlInputSource source( &xmlfile ); @@ -801,7 +817,9 @@ void SALOME_InstallWizard::setupProductsPage() reader.setContentHandler( handler ); reader.parse( source ); } + // // take into account command line parameters + // if ( !targetDirPath.isEmpty() ) targetFolder->setText( targetDirPath ); if ( !tmpDirPath.isEmpty() ) @@ -858,8 +876,7 @@ void SALOME_InstallWizard::setupCheckPage() choices->setReadOnly( true ); choices->setTextFormat( RichText ); choices->setUndoRedoEnabled ( false ); - QWhatsThis::add( choices, tr( "Displays information about installation settings you made" ) ); - QToolTip::add ( choices, tr( "Displays information about installation settings you made" ) ); + setAboutInfo( choices, tr( "Information about the installation choice you have made" ) ); QPalette pal = choices->palette(); pal.setColor( QColorGroup::Base, QApplication::palette().active().background() ); choices->setPalette( pal ); @@ -896,13 +913,11 @@ void SALOME_InstallWizard::setupProgressPage() installInfo->setUndoRedoEnabled ( false ); installInfo->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) ); installInfo->setMinimumSize( 100, 10 ); - QWhatsThis::add( installInfo, tr( "Displays installation process" ) ); - QToolTip::add ( installInfo, tr( "Displays installation process" ) ); + setAboutInfo( installInfo, tr( "Installation process output" ) ); // parameters for the script parametersLab = new QLabel( tr( "Enter your answer here:" ), widget ); passedParams = new QLineEdit ( widget ); - QWhatsThis::add( passedParams, tr( "Use this field to enter answer for the running script when it is necessary") ); - QToolTip::add ( passedParams, tr( "Use this field to enter answer for the running script when it is necessary") ); + setAboutInfo( passedParams, tr( "Use this field to enter the answer\nfor the running script when it is necessary") ); // VSR: 10/11/05 - disable answer mode ==> parametersLab->hide(); passedParams->hide(); @@ -921,8 +936,7 @@ void SALOME_InstallWizard::setupProgressPage() progressView = new ProgressView( widget ); progressView->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) ); progressView->setMinimumSize( 100, 10 ); - QWhatsThis::add( progressView, tr( "Displays installation status" ) ); - QToolTip::add ( progressView, tr( "Displays installation status" ) ); + setAboutInfo( progressView, tr( "Installation status on the selected products" ) ); // layouting layout->addRowSpacing( 0, 6 ); layout->addWidget( resultLab, 1, 0 ); @@ -952,8 +966,7 @@ void SALOME_InstallWizard::setupReadmePage() readme->setTextFormat( PlainText ); readme->setFont( QFont( "Fixed", 12 ) ); readme->setUndoRedoEnabled ( false ); - QWhatsThis::add( readme, tr( "Displays README information" ) ); - QToolTip::add ( readme, tr( "Displays README information" ) ); + setAboutInfo( readme, tr( "README information" ) ); QPalette pal = readme->palette(); pal.setColor( QColorGroup::Base, QApplication::palette().active().background() ); readme->setPalette( pal ); @@ -970,8 +983,7 @@ void SALOME_InstallWizard::setupReadmePage() for ( it = buttons.begin(); it != buttons.end(); ++it ) { QButton* b = new QPushButton( tr( (*it).label() ), readmePage ); if ( !(*it).tootip().isEmpty() ) { - QWhatsThis::add( b, tr( (*it).tootip() ) ); - QToolTip::add ( b, tr( (*it).tootip() ) ); + setAboutInfo( b, tr( (*it).tootip() ) ); } hLayout->addWidget( b ); (*it).setButton( b ); @@ -1460,22 +1472,12 @@ bool SALOME_InstallWizard::checkSize( long* totSize, long* tempSize ) // ================================================================ void SALOME_InstallWizard::checkProductPage() { - long tots = 0, temps = 0; - - // check if any product is selected; - bool isAnyProductSelected = checkSize( &tots, &temps ); - // check if target directory is valid - bool isTargetDirValid = !targetFolder->text().stripWhiteSpace().isEmpty(); - // check if temp directory is valid - bool isTempDirValid = !moreMode || !tempFolder->text().stripWhiteSpace().isEmpty(); + // update , check boxes state - // update required size information - requiredSize->setText( QString::number( tots ) + " Kb"); - requiredTemp->setText( QString::number( temps ) + " Kb"); + selectSrcBtn->blockSignals( true ); + selectBinBtn->blockSignals( true ); - // update , check boxes state int totSrc = 0, selSrc = 0; - int totBin = 0, selBin = 0; MapProducts::Iterator itProd; for ( itProd = productsMap.begin(); itProd != productsMap.end(); ++itProd ) { bool srcctx = itProd.data().hasContext( "salome sources" ); @@ -1485,26 +1487,45 @@ void SALOME_InstallWizard::checkProductPage() if ( productsView->isSources( itProd.key() ) ) selSrc++; } + } + selectSrcBtn->setState( selSrc == 0 ? QButton::Off : ( selSrc == totSrc ? QButton::On : QButton::NoChange ) ); + + buildSrcBtn->setEnabled( selSrc > 0 ); + selectBinBtn->setEnabled( !buildSrcBtn->isEnabled() || !buildSrcBtn->isChecked() ); + for ( itProd = productsMap.begin(); itProd != productsMap.end(); ++itProd ) { + if ( itProd.data().hasContext( "salome sources" ) && !itProd.data().hasContext( "salome binaries" ) ) { + productsView->setItemEnabled( productsView->findBinItem( itProd.data().getName() ) , + !productsView->isSources( itProd.key() ) || !buildSrcBtn->isChecked() ); + } + } + + int totBin = 0, selBin = 0; + for ( itProd = productsMap.begin(); itProd != productsMap.end(); ++itProd ) { + bool srcctx = itProd.data().hasContext( "salome sources" ); + bool binctx = itProd.data().hasContext( "salome binaries" ); if ( binctx && !srcctx ) { totBin++; if ( productsView->isBinaries( itProd.key() ) ) selBin++; } } - selectSrcBtn->blockSignals( true ); - selectBinBtn->blockSignals( true ); - selectSrcBtn->setState( selSrc == 0 ? QButton::Off : ( selSrc == totSrc ? QButton::On : QButton::NoChange ) ); selectBinBtn->setState( selBin == 0 ? QButton::Off : ( selBin == totBin ? QButton::On : QButton::NoChange ) ); + selectSrcBtn->blockSignals( false ); selectBinBtn->blockSignals( false ); - buildSrcBtn->setEnabled( selSrc > 0 ); - for ( itProd = productsMap.begin(); itProd != productsMap.end(); ++itProd ) { - if ( itProd.data().hasContext( "salome sources" ) && !itProd.data().hasContext( "salome binaries" ) ) { - productsView->setItemEnabled( productsView->findBinItem( itProd.data().getName() ) , - !buildSrcBtn->isChecked() || !productsView->isSources( itProd.key() ) ); - } - } + long tots = 0, temps = 0; + + // check if any product is selected; + bool isAnyProductSelected = checkSize( &tots, &temps ); + // check if target directory is valid + bool isTargetDirValid = !targetFolder->text().stripWhiteSpace().isEmpty(); + // check if temp directory is valid + bool isTempDirValid = !moreMode || !tempFolder->text().stripWhiteSpace().isEmpty(); + + // update required size information + requiredSize->setText( QString::number( tots ) + " Kb"); + requiredTemp->setText( QString::number( temps ) + " Kb"); // enable/disable "Next" button setNextEnabled( productsPage, isAnyProductSelected && isTargetDirValid && isTempDirValid ); @@ -1661,8 +1682,7 @@ void SALOME_InstallWizard::launchScript() // button 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" ) ); + setAboutInfo( nextButton(), tr( "Move to the next step of the installation procedure" ) ); disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) ); disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) ); connect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) ); @@ -1689,11 +1709,13 @@ void SALOME_InstallWizard::onMoreBtn() moreBox->hide(); lessBox->show(); moreBtn->setText( tr( "More..." ) ); + setAboutInfo( moreBtn, tr( "Switch to the advanced mode" ) ); } else { moreBox->show(); lessBox->hide(); moreBtn->setText( tr( "Less..." ) ); + setAboutInfo( moreBtn, tr( "Switch to the basic mode" ) ); } qApp->processEvents(); moreMode = !moreMode; @@ -1861,8 +1883,7 @@ void SALOME_InstallWizard::clean(bool rmDir) void SALOME_InstallWizard::pageChanged( const QString & mytitle) { 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" ) ); + setAboutInfo( nextButton(), tr( "Move to the next step of the installation procedure" ) ); disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) ); disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) ); connect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) ); @@ -1892,8 +1913,7 @@ void SALOME_InstallWizard::pageChanged( const QString & mytitle) passedParams->setEnabled( false ); QFont f = parametersLab->font(); f.setBold( false ); parametersLab->setFont( f ); nextButton()->setText( tr( "&Start" ) ); - QWhatsThis::add( nextButton(), tr( "Starts installation process" ) ); - QToolTip::add ( nextButton(), tr( "Starts installation process" ) ); + setAboutInfo( nextButton(), tr( "Start installation process" ) ); // reconnect Next button - to use it as Start button disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) ); disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) ); @@ -2018,8 +2038,7 @@ void SALOME_InstallWizard::onStart() // disable button //setNextEnabled( false ); nextButton()->setText( tr( "&Stop" ) ); - QWhatsThis::add( nextButton(), tr( "Aborts installation process" ) ); - QToolTip::add ( nextButton(), tr( "Aborts installation process" ) ); + setAboutInfo( nextButton(), tr( "Abort installation process" ) ); // disable button setBackEnabled( false ); // enable script parameters line edit @@ -2083,15 +2102,13 @@ void SALOME_InstallWizard::productInstalled( ) // enable button setNextEnabled( true ); nextButton()->setText( tr( "&Start" ) ); - QWhatsThis::add( nextButton(), tr( "Starts installation process" ) ); - QToolTip::add ( nextButton(), tr( "Starts installation process" ) ); + setAboutInfo( nextButton(), tr( "Start installation process" ) ); // reconnect Next button - to use it as Start button disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) ); disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) ); connect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) ); //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" ) ); + //setAboutInfo( nextButton(), tr( "Move to the next step of the installation procedure" ) ); //disconnect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) ); //disconnect( this, SIGNAL( nextClicked() ), this, SLOT( onStart() ) ); //connect( this, SIGNAL( nextClicked() ), this, SLOT( next() ) ); @@ -2540,7 +2557,7 @@ void SALOME_InstallWizard::resetToDefaultState() // ================================================================ /*! * SALOME_InstallWizard::onBuildAll - * Reset to default state + * Build all products from the sources check box slot */ // ================================================================ void SALOME_InstallWizard::onBuildAll() @@ -2553,6 +2570,7 @@ void SALOME_InstallWizard::onBuildAll() productsView->setSources( mapIter.key() ); buildSrcBtn->setChecked( true ); productsView->blockSignals( false ); + checkProductPage(); static bool firstTimeClicked = true; if ( firstTimeClicked ) { QMessageBox::warning( this, @@ -2568,7 +2586,7 @@ void SALOME_InstallWizard::onBuildAll() } else { resetToDefaultState(); + checkProductPage(); } moreBtn->setEnabled( !allFromSrcBtn->isChecked() ); - checkProductPage(); }