diff options
-rw-r--r-- | main.cpp | 2 | ||||
-rw-r--r-- | process.cpp | 6 | ||||
-rw-r--r-- | process.h | 8 |
3 files changed, 16 insertions, 0 deletions
@@ -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() @@ -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 |