From e6b43ef8fe009d84acfd53aae754bfb2761cba7d Mon Sep 17 00:00:00 2001 From: T1ti <40864460+T1ti@users.noreply.github.com> Date: Sat, 27 Jul 2024 22:47:58 +0200 Subject: [PATCH] auto adjust opacity mode when changing liquid type --- src/noggit/ui/Water.cpp | 25 +++++++++++++++++++++---- src/noggit/ui/Water.h | 5 +++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/noggit/ui/Water.cpp b/src/noggit/ui/Water.cpp index 384368d1..be94d0f9 100755 --- a/src/noggit/ui/Water.cpp +++ b/src/noggit/ui/Water.cpp @@ -76,6 +76,23 @@ namespace Noggit , [&] { changeWaterType(waterType->currentData().toInt()); + + // change auto opacity based on liquid type + if (_opacity_mode == custom_opacity) + return; + + int liquid_type = LiquidTypeDB::getLiquidType(_liquid_id); + if (liquid_type == 1) // ocean + { + ocean_button->setChecked(true); + _opacity_mode = ocean_opacity; + } + else + { + river_button->setChecked(true); + _opacity_mode = river_opacity; + } + } ); @@ -164,11 +181,11 @@ namespace Noggit auto opacity_group (new QGroupBox ("Auto opacity", this)); auto opacity_layout (new QFormLayout (opacity_group)); - auto river_button (new QRadioButton ("River", this)); - auto ocean_button (new QRadioButton ("Ocean", this)); - auto custom_button (new QRadioButton ("Custom factor:", this)); + river_button = new QRadioButton ("River", this); + ocean_button = new QRadioButton ("Ocean", this); + custom_button = new QRadioButton ("Custom factor:", this); - QButtonGroup *transparency_toggle = new QButtonGroup (this); + transparency_toggle = new QButtonGroup (this); transparency_toggle->addButton (river_button, river_opacity); transparency_toggle->addButton (ocean_button, ocean_opacity); transparency_toggle->addButton (custom_button, custom_opacity); diff --git a/src/noggit/ui/Water.h b/src/noggit/ui/Water.h index 1b365cbd..5406157c 100755 --- a/src/noggit/ui/Water.h +++ b/src/noggit/ui/Water.h @@ -87,6 +87,11 @@ namespace Noggit QDoubleSpinBox* _z_spin; QDoubleSpinBox* _h_spin; + QRadioButton* river_button; + QRadioButton* ocean_button; + QRadioButton* custom_button; + QButtonGroup* transparency_toggle; + QComboBox* waterType; QSpinBox* waterLayer;