diff options
author | Rainer Keller <rainer.keller@theqtcompany.com> | 2015-04-15 10:28:24 +0200 |
---|---|---|
committer | Rainer Keller <rainer.keller@theqtcompany.com> | 2015-04-20 15:05:23 +0300 |
commit | 1f4b424073ed89263ca69b782617b70207cbd7e2 (patch) | |
tree | b2817cb8fc6383ad954092aa7081d11b9fc62411 | |
parent | da66ed8ce7421506ddeb4e7feea13987c26620c7 (diff) |
b2qt-flashing-wizard: Script standard error in red color
Change-Id: I40893222a5ea999eca3f73b05e39e7e1ab53a9a1
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
-rw-r--r-- | src/b2qt-flashing-wizard/actor.h | 1 | ||||
-rw-r--r-- | src/b2qt-flashing-wizard/progress_page.cpp | 23 | ||||
-rw-r--r-- | src/b2qt-flashing-wizard/progress_page.h | 1 | ||||
-rw-r--r-- | src/b2qt-flashing-wizard/scriptwriter.cpp | 12 | ||||
-rw-r--r-- | src/b2qt-flashing-wizard/scriptwriter.h | 3 |
5 files changed, 34 insertions, 6 deletions
diff --git a/src/b2qt-flashing-wizard/actor.h b/src/b2qt-flashing-wizard/actor.h index 51e856d..9af55fe 100644 --- a/src/b2qt-flashing-wizard/actor.h +++ b/src/b2qt-flashing-wizard/actor.h @@ -37,6 +37,7 @@ signals: void finished(); void failed(const QString &message); void details(const QByteArray &); + void errorDetails(const QByteArray &); }; #endif // ACTOR_H 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() diff --git a/src/b2qt-flashing-wizard/progress_page.h b/src/b2qt-flashing-wizard/progress_page.h index c2e4c4c..393619d 100644 --- a/src/b2qt-flashing-wizard/progress_page.h +++ b/src/b2qt-flashing-wizard/progress_page.h @@ -42,6 +42,7 @@ public slots: void finished(); void failed(const QString &step); void addDetails(QByteArray newData); + void addErrorDetails(QByteArray newData); void showDetails(); void hideDetails(); void toggleDetails(); diff --git a/src/b2qt-flashing-wizard/scriptwriter.cpp b/src/b2qt-flashing-wizard/scriptwriter.cpp index 594aecc..4e38bdd 100644 --- a/src/b2qt-flashing-wizard/scriptwriter.cpp +++ b/src/b2qt-flashing-wizard/scriptwriter.cpp @@ -34,7 +34,6 @@ ScriptWriter::ScriptWriter(QObject *parent) , mDebug(false) , mRoot(false) { - mProcess.setProcessChannelMode(QProcess::MergedChannels); mDebug = qEnvironmentVariableIsSet("DEBUG"); } @@ -81,7 +80,8 @@ bool ScriptWriter::ready(QString &error) const void ScriptWriter::start() { - connect(&mProcess, &QProcess::readyReadStandardOutput, this, &ScriptWriter::readOutput); + connect(&mProcess, &QProcess::readyReadStandardOutput, this, &ScriptWriter::readStandardOutput); + connect(&mProcess, &QProcess::readyReadStandardError, this, &ScriptWriter::readStandardError); connect(&mProcess, (void (QProcess::*)(QProcess::ProcessError))&QProcess::error, this, &ScriptWriter::processError); connect(&mProcess, (void (QProcess::*)(int, QProcess::ExitStatus))&QProcess::finished, this, &ScriptWriter::processFinished); @@ -99,7 +99,7 @@ void ScriptWriter::start() qFatal("Failed to start script"); } -void ScriptWriter::readOutput() +void ScriptWriter::readStandardOutput() { QByteArray ba = mProcess.readAllStandardOutput(); QList<QByteArray> baList = ba.split('\n'); @@ -112,6 +112,12 @@ void ScriptWriter::readOutput() emit details(ba); } +void ScriptWriter::readStandardError() +{ + QByteArray ba = mProcess.readAllStandardError(); + emit errorDetails(ba); +} + void ScriptWriter::processFinished(int exitCode, QProcess::ExitStatus exitStatus) { if (exitStatus != QProcess::NormalExit || exitCode != 0) { diff --git a/src/b2qt-flashing-wizard/scriptwriter.h b/src/b2qt-flashing-wizard/scriptwriter.h index 68a7684..a984577 100644 --- a/src/b2qt-flashing-wizard/scriptwriter.h +++ b/src/b2qt-flashing-wizard/scriptwriter.h @@ -39,7 +39,8 @@ public: void setRootFlag(bool); private slots: - void readOutput(); + void readStandardOutput(); + void readStandardError(); void processFinished(int, QProcess::ExitStatus); void processError(QProcess::ProcessError); |