summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main.cpp2
-rw-r--r--process.cpp6
-rw-r--r--process.h8
3 files changed, 16 insertions, 0 deletions
diff --git a/main.cpp b/main.cpp
index 49282bf..0a3e93d 100644
--- a/main.cpp
+++ b/main.cpp
@@ -243,6 +243,8 @@ int main(int argc, char **argv)
return 0;
else
return 1;
+ } else if (arg == "--print-debug") {
+ config.flags |= Config::PrintDebugMessages;
} else {
args.prepend(arg);
break;
diff --git a/process.cpp b/process.cpp
index 5e4bab9..b79594f 100644
--- a/process.cpp
+++ b/process.cpp
@@ -50,6 +50,9 @@ void Process::readyReadStandardOutput()
{
QByteArray b = mProcess->readAllStandardOutput();
write(1, b.constData(), b.size());
+
+ if (mConfig.flags.testFlag(Config::PrintDebugMessages))
+ qDebug() << b;
}
void Process::readyReadStandardError()
@@ -63,6 +66,9 @@ void Process::readyReadStandardError()
mDebug = false; // only search once
}
write(2, b.constData(), b.size());
+
+ if (mConfig.flags.testFlag(Config::PrintDebugMessages))
+ qDebug() << b;
}
void Process::setDebug()
diff --git a/process.h b/process.h
index 3f1bb75..99e5778 100644
--- a/process.h
+++ b/process.h
@@ -5,10 +5,18 @@
class QSocketNotifier;
struct Config {
+ enum Flag {
+ PrintDebugMessages = 0x01
+ };
+ Q_DECLARE_FLAGS(Flags, Flag)
+
+ Config() : flags(0) { }
+
QString base;
QString platform;
QMap<QString,QString> env;
QStringList args;
+ Flags flags;
};
class Process : public QObject