diff --git a/src/operate.cpp b/src/operate.cpp index ecaacce..5fd8cc5 100644 --- a/src/operate.cpp +++ b/src/operate.cpp @@ -391,6 +391,7 @@ void Operate::setUserMode(user_mode userMode) const { fan_mode fanMode = fan_mode::auto_fan_mode; bool superBattery = false; QString userModeStr; + Settings s; switch (userMode) { case user_mode::balanced_mode: @@ -399,6 +400,9 @@ void Operate::setUserMode(user_mode userMode) const { case user_mode::performance_mode: shiftMode = shift_mode::turbo_mode; // sport on some devices? userModeStr = "performance_mode"; + if (s.getValue(settingsGroup + "fanModeAdvanced").toBool()) { + fanMode = fan_mode::advanced_fan_mode; + } break; case user_mode::silent_mode: fanMode = fan_mode::silent_fan_mode; @@ -471,7 +475,7 @@ void Operate::setFanMode(int value) const { } void Operate::setFanModeAdvanced(bool enabled) const { - if (enabled) + if (enabled && getUserMode() == user_mode::performance_mode) helper.putValue(fanModeAddress, fanModeAdvanced); else helper.putValue(fanModeAddress, fanModeAuto);