GH-1223 fix override settings
They now work more like passthrough settings, except not passing through set and reset
This commit is contained in:
parent
151a0ca11e
commit
cd108fd029
8 changed files with 88 additions and 37 deletions
|
@ -30,7 +30,8 @@ SettingsObject::~SettingsObject()
|
|||
m_settings.clear();
|
||||
}
|
||||
|
||||
std::shared_ptr<Setting> SettingsObject::registerOverride(std::shared_ptr<Setting> original)
|
||||
std::shared_ptr<Setting> SettingsObject::registerOverride(std::shared_ptr<Setting> original,
|
||||
std::shared_ptr<Setting> gate)
|
||||
{
|
||||
if (contains(original->id()))
|
||||
{
|
||||
|
@ -38,7 +39,7 @@ std::shared_ptr<Setting> SettingsObject::registerOverride(std::shared_ptr<Settin
|
|||
.arg(original->id());
|
||||
return nullptr; // Fail
|
||||
}
|
||||
auto override = std::make_shared<OverrideSetting>(original);
|
||||
auto override = std::make_shared<OverrideSetting>(original, gate);
|
||||
override->m_storage = this;
|
||||
connectSignals(*override);
|
||||
m_settings.insert(override->id(), override);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue