// FIXME - change to new version of ScriptCache loading notificationvoid ScriptEngines::onScriptEngineLoaded(const QString& rawScriptURL) { UserActivityLogger::getInstance().loadedScript(rawScriptURL); ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(sender()); launchScriptEngine(scriptEngine); { QWriteLocker lock(&_scriptEnginesHashLock); QUrl url = QUrl(rawScriptURL); QUrl normalized = normalizeScriptURL(url); _scriptEnginesHash.insertMulti(normalized, scriptEngine); } emit scriptCountChanged();} void ScriptEngines::launchScriptEngine(ScriptEngine* scriptEngine) { connect(scriptEngine, &ScriptEngine::finished, this, &ScriptEngines::onScriptFinished, Qt::DirectConnection); connect(scriptEngine, &ScriptEngine::loadScript, [&](const QString& scriptName, bool userLoaded) { loadScript(scriptName, userLoaded); }); connect(scriptEngine, &ScriptEngine::reloadScript, [&](const QString& scriptName, bool userLoaded) { loadScript(scriptName, userLoaded, false, false, true); }); // register our application services and set it off on its own thread for (auto initializer : _scriptInitializers) { initializer(scriptEngine); } if (scriptEngine->isDebuggable() || (qApp->queryKeyboardModifiers() & Qt::ShiftModifier)) { scriptEngine->runDebuggable(); } else { scriptEngine->runInThread(); }} void ScriptEngines::onScriptFinished(const QString& rawScriptURL, ScriptEngine* engine) { bool removed = false; { QWriteLocker lock(&_scriptEnginesHashLock); const QUrl scriptURL = normalizeScriptURL(QUrl(rawScriptURL)); for (auto it = _scriptEnginesHash.find(scriptURL); it != _scriptEnginesHash.end(); ++it) { if (it.value() == engine) { _scriptEnginesHash.erase(it); removed = true; break; } } } if (removed) { emit scriptCountChanged(); }} // FIXME - change to new version of ScriptCache loading notificationvoid ScriptEngines::onScriptEngineError(const QString& scriptFilename) { qCDebug(scriptengine) << "Application::loadScript(), script failed to load..."; emit scriptLoadError(scriptFilename, "");} QString ScriptEngines::getDefaultScriptsLocation() const { return defaultScriptsLocation().toString();}Lines 501–565 of 565. Previous lines
// FIXME - change to new version of ScriptCache loading notification void ScriptEngines::onScriptEngineLoaded(const QString& rawScriptURL) { UserActivityLogger::getInstance().loadedScript(rawScriptURL); ScriptEngine* scriptEngine = qobject_cast<ScriptEngine*>(sender()); launchScriptEngine(scriptEngine); { QWriteLocker lock(&_scriptEnginesHashLock); QUrl url = QUrl(rawScriptURL); QUrl normalized = normalizeScriptURL(url); _scriptEnginesHash.insertMulti(normalized, scriptEngine); } emit scriptCountChanged(); } void ScriptEngines::launchScriptEngine(ScriptEngine* scriptEngine) { connect(scriptEngine, &ScriptEngine::finished, this, &ScriptEngines::onScriptFinished, Qt::DirectConnection); connect(scriptEngine, &ScriptEngine::loadScript, [&](const QString& scriptName, bool userLoaded) { loadScript(scriptName, userLoaded); }); connect(scriptEngine, &ScriptEngine::reloadScript, [&](const QString& scriptName, bool userLoaded) { loadScript(scriptName, userLoaded, false, false, true); }); // register our application services and set it off on its own thread for (auto initializer : _scriptInitializers) { initializer(scriptEngine); } if (scriptEngine->isDebuggable() || (qApp->queryKeyboardModifiers() & Qt::ShiftModifier)) { scriptEngine->runDebuggable(); } else { scriptEngine->runInThread(); } } void ScriptEngines::onScriptFinished(const QString& rawScriptURL, ScriptEngine* engine) { bool removed = false; { QWriteLocker lock(&_scriptEnginesHashLock); const QUrl scriptURL = normalizeScriptURL(QUrl(rawScriptURL)); for (auto it = _scriptEnginesHash.find(scriptURL); it != _scriptEnginesHash.end(); ++it) { if (it.value() == engine) { _scriptEnginesHash.erase(it); removed = true; break; } } } if (removed) { emit scriptCountChanged(); } } // FIXME - change to new version of ScriptCache loading notification void ScriptEngines::onScriptEngineError(const QString& scriptFilename) { qCDebug(scriptengine) << "Application::loadScript(), script failed to load..."; emit scriptLoadError(scriptFilename, ""); } QString ScriptEngines::getDefaultScriptsLocation() const { return defaultScriptsLocation().toString(); }