From: Matthew Vogt Date: Wed, 21 Mar 2012 02:49:15 +0000 (+1000) Subject: Allow qmlscene to quit immediately after starting X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=94052647d25f3da3903574a66051466d09eecf5e;p=konrad%2Fqtdeclarative.git Allow qmlscene to quit immediately after starting Useful for running tests that have no interactive element, where all computation is performed in the initialization phase of processing the QML source. Change-Id: Id3f87fc504a30eb4e351804a98fe265db8fe93c9 Reviewed-by: Martin Jones --- diff --git a/tools/qmlscene/main.cpp b/tools/qmlscene/main.cpp index 327dfc6..32c9be7 100644 --- a/tools/qmlscene/main.cpp +++ b/tools/qmlscene/main.cpp @@ -156,6 +156,7 @@ struct Options , clip(false) , versionDetection(true) , slowAnimations(false) + , quitImmediately(false) { } @@ -168,6 +169,7 @@ struct Options bool clip; bool versionDetection; bool slowAnimations; + bool quitImmediately; }; #if defined(QMLSCENE_BUNDLE) @@ -347,6 +349,7 @@ static void usage() qWarning(" --no-multisample .......................... Disable multisampling (anti-aliasing)"); qWarning(" --no-version-detection .................... Do not try to detect the version of the .qml file"); qWarning(" --slow-animations ......................... Run all animations in slow motion"); + qWarning(" --quit .................................... Quit immediately after starting"); qWarning(" "); exit(1); @@ -372,6 +375,8 @@ int main(int argc, char ** argv) options.versionDetection = false; else if (lowerArgument == QLatin1String("--slow-animations")) options.slowAnimations = true; + else if (lowerArgument == QLatin1String("--quit")) + options.quitImmediately = true; else if (lowerArgument == QLatin1String("-i") && i + 1 < argc) imports.append(QString::fromLatin1(argv[++i])); else if (lowerArgument == QLatin1String("--help") @@ -428,6 +433,10 @@ int main(int argc, char ** argv) else window->show(); + if (options.quitImmediately) { + QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection); + } + exitCode = app.exec(); delete window;