History

PR comments

Brad Davis committed 10 years ago

Commit 5a5583d1 parent c5b57462 files · +14 −8Browse files

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

Unified · Split

libraries/script-engine/src/ScriptEngines.cpp+13−0
@@ -40,6 +40,19 @@ ScriptEngines::ScriptEngines() · 39 unmodified lines
4040 _scriptsModelFilter.setSourceModel(&_scriptsModel);
4141 _scriptsModelFilter.sort(0, Qt::AscendingOrder);
4242 _scriptsModelFilter.setDynamicSortFilter(true);
43+
44+ static const int SCRIPT_SAVE_COUNTDOWN_INTERVAL_MS = 5000;
45+ QTimer* scriptSaveTimer = new QTimer(this);
46+ scriptSaveTimer->setSingleShot(true);
47+ QMetaObject::Connection timerConnection = connect(scriptSaveTimer, &QTimer::timeout, [] {
48+ DependencyManager::get<ScriptEngines>()->saveScripts();
49+ });
50+ connect(qApp, &QCoreApplication::aboutToQuit, [=] {
51+ disconnect(timerConnection);
52+ });
53+ connect(this, &ScriptEngines::scriptCountChanged, this, [scriptSaveTimer] {
54+ scriptSaveTimer->start(SCRIPT_SAVE_COUNTDOWN_INTERVAL_MS);
55+ }, Qt::QueuedConnection);
4356 }
4457
4558 QUrl normalizeScriptURL(const QUrl& rawScriptURL) {