| 1470 | } |
| 1471 | |
| 1472 | void Host::CommitBaseSettingChanges() |
| 1473 | { |
| 1474 | if (!QtHost::IsOnUIThread()) |
| 1475 | { |
| 1476 | QtHost::RunOnUIThread(&Host::CommitBaseSettingChanges); |
| 1477 | return; |
| 1478 | } |
| 1479 | |
| 1480 | auto lock = Host::GetSettingsLock(); |
| 1481 | if (s_settings_save_timer) |
| 1482 | return; |
| 1483 | |
| 1484 | s_settings_save_timer = new QTimer; |
| 1485 | s_settings_save_timer->connect(s_settings_save_timer, &QTimer::timeout, &QtHost::SaveSettings); |
| 1486 | s_settings_save_timer->setSingleShot(true); |
| 1487 | s_settings_save_timer->start(SETTINGS_SAVE_DELAY); |
| 1488 | |
| 1489 | static bool connected = false; |
| 1490 | if (!connected) |
| 1491 | { |
| 1492 | QObject::connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, []() { |
| 1493 | delete s_settings_save_timer; |
| 1494 | s_settings_save_timer = nullptr; |
| 1495 | }); |
| 1496 | |
| 1497 | connected = true; |
| 1498 | } |
| 1499 | } |
| 1500 | |
| 1501 | bool Host::InBatchMode() |
| 1502 | { |