refs #644 Move the enable of settings save to the same place as the initial settings load.

This commit is contained in:
Mathew Sutcliffe
2016-04-27 18:35:08 +01:00
parent d7a63c15d4
commit d9d30a339a
4 changed files with 12 additions and 5 deletions

View File

@@ -34,6 +34,11 @@ namespace BlackMisc
return saveToFiles(persistentStore(), keyPrefix);
}
void CSettingsCache::enableLocalSave()
{
connect(CSettingsCache::instance(), &CSettingsCache::valuesSaveRequested, CSettingsCache::instance(), &CSettingsCache::saveToStoreByPacket);
}
void CSettingsCache::saveToStoreByPacket(const CValueCachePacket &values)
{
CStatusMessage status = saveToFiles(persistentStore(), values.toVariantMap());

View File

@@ -34,9 +34,9 @@ namespace BlackMisc
//! Save core settings to disk.
BlackMisc::CStatusMessage saveToStore(const QString &keyPrefix = {});
//! Save individual settings to disk.
//! Core application context connects this slot to the valuesSaveRequested signal.
void saveToStoreByPacket(const CValueCachePacket &values);
//! Connects signal CValueCache::valuesSaveRequested to a private slot that saves the values.
//! In a dbus distributed scenario, only call this method in the core process.
void enableLocalSave();
//! Load core settings from disk.
BlackMisc::CStatusMessage loadFromStore();
@@ -49,6 +49,7 @@ namespace BlackMisc
private:
CSettingsCache();
void saveToStoreByPacket(const CValueCachePacket &values);
};
/*!