#include <QLabel>
#include <QtDebug>
-ProgressBar::ProgressBar( const QString &aText, bool aCancellable, QWidget *aParent ) :
+ProgressBar::ProgressBar( const QString &aTitle, bool aCancellable, QWidget *aParent ) :
QDialog( aParent )
{
qDebug() << "ProgressBar::ProgressBar( const QString &, bool, QWidget *)";
- setWindowTitle( aText );
+ setWindowTitle( aTitle );
+
setModal( true );
iProgress = new QProgressBar();
iProgress->setMinimumWidth( 200 );
- iProgress->setMaximum( 0 );
+ iProgress->setRange( 0, 0 );
+ iProgress->reset();
iProgress->setTextVisible( false );
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget( iLabel );
QHBoxLayout *subLayout = new QHBoxLayout;
subLayout->addWidget( iProgress );
- if( aCancellable ) {
- QPushButton *buttonCancel = new QPushButton( tr( "Cancel" ) );
- subLayout->addSpacing( 5 );
- subLayout->addWidget( buttonCancel );
- connect( buttonCancel, SIGNAL( pressed() ), this, SIGNAL( cancel() ) );
+
+ iButton = new QPushButton( tr( "Cancel" ) );
+ subLayout->addSpacing( 5 );
+ subLayout->addWidget( iButton );
+ connect( iButton, SIGNAL( pressed() ), this, SIGNAL( cancel() ) );
+ if( !aCancellable ) {
+ iButton->setVisible( false );
}
+ mainLayout->addLayout( subLayout );
+ mainLayout->setAlignment( Qt::AlignCenter );
setLayout( mainLayout );
}
qDebug() << "ProgressBar::~ProgressBar()";
}
-void ProgressBar::update( const QString &aMessage )
+void ProgressBar::update( const QString &aMessage, const QString &aTitle )
{
qDebug() << "ProgressBar::update( const QString & )";
iLabel->setText( aMessage );
-}
\ No newline at end of file
+ if( aTitle != "" )
+ setWindowTitle( aTitle );
+}
+
+void ProgressBar::toggleCancellable( bool aEnable )
+{
+ if( aEnable )
+ iButton->setVisible( true );
+ else
+ iButton->setVisible( false );
+}