Showing the changes to libraries/script-engine/src/ScriptEngines.cpp (1 of 2 files). Show all
Unified · Split
| @@ -498,6 +498,11 @@ ScriptEnginePointer ScriptEngines::loadScript(const QUrl& scriptFilename, bool i · 497 unmodified lines | ||
| 498 | 498 | connect(scriptEngine.data(), &ScriptEngine::scriptLoaded, this, &ScriptEngines::onScriptEngineLoaded); |
| 499 | 499 | connect(scriptEngine.data(), &ScriptEngine::errorLoadingScript, this, &ScriptEngines::onScriptEngineError); |
| 500 | 500 | |
| 501 | + // Shutdown Interface when script finishes, if requested | |
| 502 | + if (quitWhenFinished) { | |
| 503 | + connect(scriptEngine.data(), &ScriptEngine::finished, this, &ScriptEngines::quitWhenFinished); | |
| 504 | + } | |
| 505 | + | |
| 501 | 506 | // get the script engine object to load the script at the designated script URL |
| 502 | 507 | scriptEngine->loadURL(scriptUrl, reload); |
| 503 | 508 | } |
| @@ -538,6 +543,10 @@ void ScriptEngines::onScriptEngineLoaded(const QString& rawScriptURL) { · 34 unmodified lines | ||
| 538 | 543 | emit scriptCountChanged(); |
| 539 | 544 | } |
| 540 | 545 | |
| 546 | +void ScriptEngines::quitWhenFinished() { | |
| 547 | + qApp->quit(); | |
| 548 | +} | |
| 549 | + | |
| 541 | 550 | int ScriptEngines::runScriptInitializers(ScriptEnginePointer scriptEngine) { |
| 542 | 551 | int ii=0; |
| 543 | 552 | for (auto initializer : _scriptInitializers) { |