summaryrefslogtreecommitdiffstats
path: root/src/b2qt-flashing-wizard/scriptwriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/b2qt-flashing-wizard/scriptwriter.cpp')
-rw-r--r--src/b2qt-flashing-wizard/scriptwriter.cpp84
1 files changed, 2 insertions, 82 deletions
diff --git a/src/b2qt-flashing-wizard/scriptwriter.cpp b/src/b2qt-flashing-wizard/scriptwriter.cpp
index 59996ed..dfe554e 100644
--- a/src/b2qt-flashing-wizard/scriptwriter.cpp
+++ b/src/b2qt-flashing-wizard/scriptwriter.cpp
@@ -31,7 +31,6 @@
ScriptWriter::ScriptWriter(QObject *parent)
: Actor(parent)
- , mElapsed(new QElapsedTimer)
, mDebug(false)
{
mProcess.setProcessChannelMode(QProcess::MergedChannels);
@@ -40,7 +39,6 @@ ScriptWriter::ScriptWriter(QObject *parent)
ScriptWriter::~ScriptWriter()
{
- delete mElapsed;
}
void ScriptWriter::setScriptFile(const QString &fileName)
@@ -102,7 +100,6 @@ void ScriptWriter::start()
mProcess.start(args.takeFirst(), args);
if (!mProcess.waitForStarted())
qFatal("Failed to start script");
- mElapsed->start();
mProcess.write("y\n");
}
@@ -111,56 +108,11 @@ void ScriptWriter::readOutput()
QByteArray ba = mProcess.readAllStandardOutput();
QList<QByteArray> baList = ba.split('\n');
- static unsigned int currentProgress = 0;
- unsigned int nextProgress = 0;
- unsigned int milliseconds = 0;
-
- unsigned int whole = 0;
- if (!mTimings.isEmpty())
- whole = mTimings.last().second;
-
foreach (const QByteArray &line, baList) {
- if (line.startsWith("+")) {
- // Command line
- while (!mTimings.isEmpty() && !mTimings.first().first)
- mTimings.removeFirst();
-
- // Should not happen
- if (mTimings.isEmpty())
- break;
-
- currentProgress = mTimings.takeFirst().second;
- } else {
- // Output line
- if (!mTimings.isEmpty() && !mTimings.first().first)
- currentProgress = mTimings.takeFirst().second;
- }
+ if (line.startsWith("-- STEP -- "))
+ emit progress(QString::fromLocal8Bit(line.mid(11).trimmed()));
}
- if (!mTimings.isEmpty()) {
- nextProgress = mTimings.first().second;
- milliseconds = mTimings.last().second / 100 * (nextProgress - currentProgress);
- } else {
- nextProgress = currentProgress;
- }
-
- double slowness = ((double)currentProgress / mElapsed->elapsed()) * (whole/100.0);
-// if (slowness == 0)
- slowness = 1;
-
- if (mDebug) {
- qDebug() << ba;
- qDebug() << "slowness:" << slowness << "currentProgress:" << currentProgress << "elapsed:" << mElapsed->elapsed() << "milliseconds:" << milliseconds << "nextProgress:" << nextProgress << "whole:" << whole << "stack:" << mTimings.size();
- }
-
- if (currentProgress > 100)
- currentProgress = 100;
- if (nextProgress > 100)
- nextProgress = 100;
-
- if (currentProgress || nextProgress)
- emit progress(currentProgress, nextProgress, milliseconds/slowness);
-
emit details(ba);
}
@@ -190,38 +142,6 @@ void ScriptWriter::setEnvironment(const QString &key, const QString &value)
mProcess.setProcessEnvironment(env);
}
-void ScriptWriter::setProgressFile(const QString &fileName)
-{
- mTimings.clear();
-
- QFile f(fileName);
- if (!f.open(QFile::ReadOnly)) {
- qWarning() << "Could not open progress file";
- return;
- }
-
- bool ok;
-
- while (!f.atEnd()) {
- QByteArray line = f.readLine().simplified();
-
- int i = line.toInt(&ok);
- if (!ok) {
- qWarning() << "Could not parse progress file:" << line;
- mTimings.clear();
- return;
- }
- if (i < 0)
- mTimings += qMakePair(true, -i);
- else if (i == 0)
- mTimings += qMakePair(line.startsWith('-'), 0);
- else
- mTimings += qMakePair(false, i);
- }
-
- qDebug() << "steps" << mTimings.size();
-}
-
void ScriptWriter::setAdditionalArgs(const QStringList &args)
{
mAdditionalArgs = args;