diff options
author | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-01-21 09:25:46 +0100 |
---|---|---|
committer | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-01-21 09:29:23 +0100 |
commit | e224a015dbb69db35a9403f40ede7fc397d549fc (patch) | |
tree | 97bb25d8302ef3cc60077383abd3076753f34b71 /src/gui/setup_interface.cpp | |
parent | db9b9f316d7bdcb9504092908bb18e82fc21de2f (diff) | |
download | mana-e224a015dbb69db35a9403f40ede7fc397d549fc.tar.gz mana-e224a015dbb69db35a9403f40ede7fc397d549fc.tar.bz2 mana-e224a015dbb69db35a9403f40ede7fc397d549fc.tar.xz mana-e224a015dbb69db35a9403f40ede7fc397d549fc.zip |
Fixed ConfigOptionChanged events
With the statically typed config we no longer get an event for each
changed config value. Where relevant, this is now done through
`setConfigValue`.
The `Event` now uses a `std::any`, which for `ConfigOptionChanged`
events is set to the changed `Config` member. This allows for a
type-safe check on which config value was changed.
Diffstat (limited to 'src/gui/setup_interface.cpp')
-rw-r--r-- | src/gui/setup_interface.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/gui/setup_interface.cpp b/src/gui/setup_interface.cpp index 229898c7..7eef974c 100644 --- a/src/gui/setup_interface.cpp +++ b/src/gui/setup_interface.cpp @@ -205,11 +205,11 @@ void Setup_Interface::cancel() //mAlphaSlider->setEnabled(!mSDLTransparencyDisabled); config.showMonstersTakedDamage = mShowMonsterDamageEnabled; - config.visibleNames = mVisibleNamesEnabled; + setConfigValue(&Config::visibleNames, mVisibleNamesEnabled); config.speech = mSpeechMode; - config.showOwnName = mNameEnabled; + setConfigValue(&Config::showOwnName, mNameEnabled); config.logNpcInGui = mNPCLogEnabled; - config.guiAlpha = mOpacity; + setConfigValue<float>(&Config::guiAlpha, mOpacity); config.showPickupChat = mPickupChatEnabled; config.showPickupParticle = mPickupParticleEnabled; } @@ -220,7 +220,7 @@ void Setup_Interface::action(const gcn::ActionEvent &event) if (id == "guialpha") { - config.guiAlpha = mAlphaSlider->getValue(); + setConfigValue<float>(&Config::guiAlpha, mAlphaSlider->getValue()); } else if (id == "monsterdamage") { @@ -228,7 +228,7 @@ void Setup_Interface::action(const gcn::ActionEvent &event) } else if (id == "visiblenames") { - config.visibleNames = mVisibleNamesCheckBox->isSelected(); + setConfigValue(&Config::visibleNames, mVisibleNamesCheckBox->isSelected()); } else if (id == "pickupchat") { @@ -247,7 +247,7 @@ void Setup_Interface::action(const gcn::ActionEvent &event) } else if (id == "showownname") { - config.showOwnName = mNameCheckBox->isSelected(); + setConfigValue(&Config::showOwnName, mNameCheckBox->isSelected()); } else if (id == "lognpc") { |