Save the set of running scripts when they change, as well as at shutdown

This commit is contained in:
Brad Davis 2016-04-08 17:29:54 -07:00
parent b87e8220c4
commit c5b5746646

View file

@ -731,11 +731,18 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) :
registerScriptEngineWithApplicationServices(engine);
});
connect(scriptEngines, &ScriptEngines::scriptCountChanged, scriptEngines, [this] {
static const int SCRIPT_SAVE_COUNTDOWN_INTERVAL_MS = 5000;
QTimer* scriptSaveTimer = new QTimer(this);
connect(scriptSaveTimer, &QTimer::timeout, [] {
DependencyManager::get<ScriptEngines>()->saveScripts();
});
scriptSaveTimer->setSingleShot(true);
connect(scriptEngines, &ScriptEngines::scriptCountChanged, scriptEngines, [this, scriptSaveTimer] {
auto scriptEngines = DependencyManager::get<ScriptEngines>();
if (scriptEngines->getRunningScripts().isEmpty()) {
getMyAvatar()->clearScriptableSettings();
}
scriptSaveTimer->start(SCRIPT_SAVE_COUNTDOWN_INTERVAL_MS);
}, Qt::QueuedConnection);
connect(scriptEngines, &ScriptEngines::scriptsReloading, scriptEngines, [this] {