From e224a015dbb69db35a9403f40ede7fc397d549fc Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Tue, 21 Jan 2025 09:25:46 +0100 Subject: 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. --- src/gui/setup_interface.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/gui/setup_interface.cpp') 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(&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(&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") { -- cgit v1.2.3-70-g09d2