Save settings on change

Dieser Commit ist enthalten in:
Reinder Feenstra 2019-11-01 22:11:20 +01:00
Ursprung 3fd0aa18be
Commit 51ca7aa3c5
2 geänderte Dateien mit 8 neuen und 6 gelöschten Zeilen

Datei anzeigen

@ -54,8 +54,8 @@ class Property : public AbstractProperty
m_onChanged = onChanged;
}
Property(Object* object, const std::string& name, const T& value, PropertyFlags flags, OnSet onSet) :
Property(object, name, value, flags)
Property(Object* object, const std::string& name, const T& value, PropertyFlags flags, OnChanged onChanged, OnSet onSet) :
Property(object, name, value, flags, onChanged)
{
m_onSet = onSet;
}
@ -71,6 +71,8 @@ class Property : public AbstractProperty
if(isWriteable() && (!m_onSet || m_onSet(value)) && m_value != value)
{
m_value = value;
if(m_onChanged)
m_onChanged(m_value);
changed();
}
}

Datei anzeigen

@ -32,10 +32,10 @@ const std::string Settings::id{Settings::classId};
Settings::Settings(const std::filesystem::path& filename) :
Object{},
m_filename{filename},
localhostOnly{this, "localhost_only", true, PropertyFlags::AccessWCC},
port{this, "port", defaultPort, PropertyFlags::AccessWCC},
discoverable{this, "discoverable", true, PropertyFlags::AccessWWW},
defaultWorld{this, "default_world", "", PropertyFlags::AccessWWW}
localhostOnly{this, "localhost_only", true, PropertyFlags::AccessWCC, [this](const bool&){ save(); }},
port{this, "port", defaultPort, PropertyFlags::AccessWCC, [this](const uint16_t&){ save(); }},
discoverable{this, "discoverable", true, PropertyFlags::AccessWWW, [this](const bool&){ save(); }},
defaultWorld{this, "default_world", "", PropertyFlags::AccessWWW, [this](const std::string&){ save(); }}
{
m_interfaceItems.add(localhostOnly);
m_interfaceItems.add(port);