History

Shutdown interface when test script finishes.

NissimHadar committed 8 years ago

Commit 3a542511 parent 46f461d3 files · +15 −3Browse files

Showing the changes to libraries/script-engine/src/ScriptEngines.cpp (1 of 3 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngines.cpp+10−1
@@ -456,7 +456,7 @@ void ScriptEngines::reloadAllScripts() { · 455 unmodified lines
456456 }
457457
458458 ScriptEnginePointer ScriptEngines::loadScript(const QUrl& scriptFilename, bool isUserLoaded, bool loadScriptFromEditor,
459− bool activateMainWindow, bool reload) {
459+ bool activateMainWindow, bool reload, bool exitWhenFinished) {
460460 if (thread() != QThread::currentThread()) {
461461 ScriptEnginePointer result { nullptr };
462462 BLOCKING_INVOKE_METHOD(this, "loadScript", Q_RETURN_ARG(ScriptEnginePointer, result),
@@ -496,6 +496,11 @@ ScriptEnginePointer ScriptEngines::loadScript(const QUrl& scriptFilename, bool i · 33 unmodified lines
496496 connect(scriptEngine.data(), &ScriptEngine::scriptLoaded, this, &ScriptEngines::onScriptEngineLoaded);
497497 connect(scriptEngine.data(), &ScriptEngine::errorLoadingScript, this, &ScriptEngines::onScriptEngineError);
498498
499+ // Shutdown interface when script finishes, if requested
500+ if (exitWhenFinished) {
501+ connect(scriptEngine.data(), &ScriptEngine::finished, this, &ScriptEngines::exitWhenFinished);
502+ }
503+
499504 // get the script engine object to load the script at the designated script URL
500505 scriptEngine->loadURL(scriptUrl, reload);
501506 }
@@ -536,6 +541,10 @@ void ScriptEngines::onScriptEngineLoaded(const QString& rawScriptURL) { · 34 unmodified lines
536541 emit scriptCountChanged();
537542 }
538543
544+void ScriptEngines::exitWhenFinished() {
545+ qApp->quit();
546+}
547+
539548 int ScriptEngines::runScriptInitializers(ScriptEnginePointer scriptEngine) {
540549 int ii=0;
541550 for (auto initializer : _scriptInitializers) {