diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/b2qt-flashing-wizard/progress_page.cpp | 43 | ||||
-rw-r--r-- | src/b2qt-flashing-wizard/progress_page.h | 4 |
2 files changed, 35 insertions, 12 deletions
diff --git a/src/b2qt-flashing-wizard/progress_page.cpp b/src/b2qt-flashing-wizard/progress_page.cpp index 567d986..d518b44 100644 --- a/src/b2qt-flashing-wizard/progress_page.cpp +++ b/src/b2qt-flashing-wizard/progress_page.cpp @@ -26,6 +26,7 @@ #include <QLayout> #include <QProgressBar> #include <QPushButton> +#include <QScrollBar> #include <QTextEdit> #include <QTimer> @@ -37,13 +38,14 @@ ProgressPage::ProgressPage(QWidget *parent) , mTextEdit(new QTextEdit(this)) , mToggleDetailsButton(new QPushButton(this)) , mCopyToClipboardButton(new QPushButton(this)) + , mProgressBar(0) { setTitle(tr("Disk Creation")); setSubTitle(tr("Writing the hardware platform image to the disk")); setLayout(new QVBoxLayout(this)); - QProgressBar *progressBar = new QProgressBar(this); - progressBar->setRange(0, 0); - layout()->addWidget(progressBar); + mProgressBar = new QProgressBar(this); + mProgressBar->setRange(0, 0); + layout()->addWidget(mProgressBar); mProgress->setWordWrap(true); mProgress->setText(tr("Preparing the disk device...")); layout()->addWidget(mProgress); @@ -91,6 +93,14 @@ void ProgressPage::failed(const QString &message) { mFinished = false; emit completeChanged(); + showDetails(); + mProgressBar->setEnabled(false); + mProgressBar->setRange(0, 100); + mProgressBar->setValue(100); + mProgressBar->setFormat(""); + + // Scroll to bottom + mTextEdit->verticalScrollBar()->setValue(mTextEdit->verticalScrollBar()->maximum()); mProgress->setText(message); } @@ -110,17 +120,26 @@ void ProgressPage::addDetails(QByteArray newData) mTextEdit->append(QString::fromLocal8Bit(newData)); } +void ProgressPage::showDetails() +{ + mTextEdit->show(); + mCopyToClipboardButton->show(); + mToggleDetailsButton->setText(tr("Hide details")); +} + +void ProgressPage::hideDetails() +{ + mTextEdit->hide(); + mCopyToClipboardButton->hide(); + mToggleDetailsButton->setText(tr("Show details")); +} + void ProgressPage::toggleDetails() { - if (mTextEdit->isHidden()) { - mTextEdit->show(); - mCopyToClipboardButton->show(); - mToggleDetailsButton->setText(tr("Hide details")); - } else { - mTextEdit->hide(); - mCopyToClipboardButton->hide(); - mToggleDetailsButton->setText(tr("Show details")); - } + if (mTextEdit->isHidden()) + showDetails(); + else + hideDetails(); } void ProgressPage::copyDetailsToClipboard() diff --git a/src/b2qt-flashing-wizard/progress_page.h b/src/b2qt-flashing-wizard/progress_page.h index f99f11b..c2e4c4c 100644 --- a/src/b2qt-flashing-wizard/progress_page.h +++ b/src/b2qt-flashing-wizard/progress_page.h @@ -25,6 +25,7 @@ class QLabel; class Actor; class QTextEdit; class QPushButton; +class QProgressBar; class ProgressPage : public QWizardPage { @@ -41,6 +42,8 @@ public slots: void finished(); void failed(const QString &step); void addDetails(QByteArray newData); + void showDetails(); + void hideDetails(); void toggleDetails(); void copyDetailsToClipboard(); @@ -51,6 +54,7 @@ private: QTextEdit *mTextEdit; QPushButton *mToggleDetailsButton; QPushButton *mCopyToClipboardButton; + QProgressBar *mProgressBar; }; #endif // PROGRESS_PAGE_H |