From c5b574664672aaebe6ecce27a71a9c23c4ceecbc Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Fri, 8 Apr 2016 17:29:54 -0700 Subject: [PATCH] Save the set of running scripts when they change, as well as at shutdown --- interface/src/Application.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index a6555352dd..a3c4ea646f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -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()->saveScripts(); + }); + scriptSaveTimer->setSingleShot(true); + connect(scriptEngines, &ScriptEngines::scriptCountChanged, scriptEngines, [this, scriptSaveTimer] { auto scriptEngines = DependencyManager::get(); if (scriptEngines->getRunningScripts().isEmpty()) { getMyAvatar()->clearScriptableSettings(); } + scriptSaveTimer->start(SCRIPT_SAVE_COUNTDOWN_INTERVAL_MS); }, Qt::QueuedConnection); connect(scriptEngines, &ScriptEngines::scriptsReloading, scriptEngines, [this] {