summaryrefslogtreecommitdiffstats
path: root/src/b2qt-flashing-wizard/progress_page.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/b2qt-flashing-wizard/progress_page.cpp')
-rw-r--r--src/b2qt-flashing-wizard/progress_page.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/b2qt-flashing-wizard/progress_page.cpp b/src/b2qt-flashing-wizard/progress_page.cpp
index d518b44..e9203b3 100644
--- a/src/b2qt-flashing-wizard/progress_page.cpp
+++ b/src/b2qt-flashing-wizard/progress_page.cpp
@@ -111,13 +111,32 @@ void ProgressPage::setActor(Actor *actor)
connect(actor, &Actor::finished, this, &ProgressPage::finished);
connect(actor, &Actor::failed, this, &ProgressPage::failed);
connect(actor, &Actor::details, this, &ProgressPage::addDetails);
+ connect(actor, &Actor::errorDetails, this, &ProgressPage::addErrorDetails);
connect(actor, &Actor::progress, this, &ProgressPage::progress);
}
+static void commonDetailReplacements(QByteArray &data)
+{
+ data.replace(0x08 /* backspace */, ' ');
+}
+
void ProgressPage::addDetails(QByteArray newData)
{
- newData.replace(0x08 /* backspace */, ' ');
- mTextEdit->append(QString::fromLocal8Bit(newData));
+ commonDetailReplacements(newData);
+ mTextEdit->insertPlainText(QString::fromLocal8Bit(newData));
+}
+
+void ProgressPage::addErrorDetails(QByteArray newData)
+{
+ if (newData.startsWith('+')) {
+ addDetails(newData);
+ return;
+ }
+ commonDetailReplacements(newData);
+ QColor c = mTextEdit->textColor();
+ mTextEdit->setTextColor(Qt::red);
+ mTextEdit->insertPlainText(QString::fromLocal8Bit(newData));
+ mTextEdit->setTextColor(c);
}
void ProgressPage::showDetails()