diff --git a/src/libcalamaresui/widgets/WaitingWidget.cpp b/src/libcalamaresui/widgets/WaitingWidget.cpp index e8504ff94..13ae9fd03 100644 --- a/src/libcalamaresui/widgets/WaitingWidget.cpp +++ b/src/libcalamaresui/widgets/WaitingWidget.cpp @@ -12,50 +12,24 @@ #include "utils/CalamaresUtilsGui.h" -#include "3rdparty/waitingspinnerwidget.h" - #include #include #include WaitingWidget::WaitingWidget( const QString& text, QWidget* parent ) - : QWidget( parent ) + : WaitingSpinnerWidget( parent ) { - QBoxLayout* waitingLayout = new QVBoxLayout; - setLayout( waitingLayout ); - waitingLayout->addStretch(); - QBoxLayout* pbLayout = new QHBoxLayout; - waitingLayout->addLayout( pbLayout ); - pbLayout->addStretch(); - - WaitingSpinnerWidget* spnr = new WaitingSpinnerWidget(); - pbLayout->addWidget( spnr ); - - pbLayout->addStretch(); - - m_waitingLabel = new QLabel( text ); - - int spnrSize = m_waitingLabel->fontMetrics().height() * 4; - spnr->setFixedSize( spnrSize, spnrSize ); - spnr->setInnerRadius( spnrSize / 2 ); - spnr->setLineLength( spnrSize / 2 ); - spnr->setLineWidth( spnrSize / 8 ); - spnr->start(); - - m_waitingLabel->setAlignment( Qt::AlignCenter ); - waitingLayout->addSpacing( spnrSize / 2 ); - waitingLayout->addWidget( m_waitingLabel ); - waitingLayout->addStretch(); - - CalamaresUtils::unmarginLayout( waitingLayout ); + int spnrSize = CalamaresUtils::defaultFontHeight() * 4; + setFixedSize( spnrSize, spnrSize ); + setInnerRadius( spnrSize / 2 ); + setLineLength( spnrSize / 2 ); + setLineWidth( spnrSize / 8 ); + setAlignment( Qt::AlignmentFlag::AlignBottom ); + setText( text ); + start(); } - -void -WaitingWidget::setText( const QString& text ) -{ - m_waitingLabel->setText( text ); -} +WaitingWidget::~WaitingWidget() {} struct CountdownWaitingWidget::Private { @@ -83,7 +57,7 @@ CountdownWaitingWidget::CountdownWaitingWidget( std::chrono::seconds duration, Q // Set up the spinner d->spinner->setFixedSize( labelHeight, labelHeight ); - d->spinner->setRevolutionsPerSecond( 1.0 / double(duration.count()) ); + d->spinner->setRevolutionsPerSecond( 1.0 / double( duration.count() ) ); d->spinner->setInnerRadius( labelHeight / 2 ); d->spinner->setLineLength( labelHeight / 2 ); d->spinner->setLineWidth( labelHeight / 8 ); @@ -143,7 +117,7 @@ CountdownWaitingWidget::tick() { d->count = int( d->duration.count() ); } - d->spinner->setText( QString::number(d->count) ); + d->spinner->setText( QString::number( d->count ) ); if ( d->count == 0 ) { timeout(); diff --git a/src/libcalamaresui/widgets/WaitingWidget.h b/src/libcalamaresui/widgets/WaitingWidget.h index 867529641..cb0e15545 100644 --- a/src/libcalamaresui/widgets/WaitingWidget.h +++ b/src/libcalamaresui/widgets/WaitingWidget.h @@ -10,7 +10,7 @@ #ifndef WAITINGWIDGET_H #define WAITINGWIDGET_H -#include +#include "3rdparty/waitingspinnerwidget.h" #include #include @@ -24,18 +24,12 @@ class QTimer; * and the text is displayed centered below it. Use this * to display a long-term waiting situation with a status report. */ -class WaitingWidget : public QWidget +class WaitingWidget : public WaitingSpinnerWidget { - Q_OBJECT public: /// Create a WaitingWidget with initial @p text label. explicit WaitingWidget( const QString& text, QWidget* parent = nullptr ); - - /// Update the @p text displayed in the label. - void setText( const QString& text ); - -private: - QLabel* m_waitingLabel; + ~WaitingWidget() override; }; /** @brief A spinner and a countdown next to it