From 4eb8a35d6b40745ce591bb8826304cc2bb7cea4f Mon Sep 17 00:00:00 2001 From: Vasily Date: Sat, 30 Nov 2019 21:41:46 +0100 Subject: [PATCH] Add remaining int settings from initStage1 to new API The settings API does not deal with unsigned ints, it is the responsibility of the calling function to ensure that values are savable as signed ints. --- src/settings/settings.h | 5 +++ src/settings/settings_controller.h | 17 ++++++++++ .../MoveCenterTabController.cpp | 33 +++++-------------- 3 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/settings/settings.h b/src/settings/settings.h index eb06fd5..69a5aeb 100644 --- a/src/settings/settings.h +++ b/src/settings/settings.h @@ -73,6 +73,11 @@ enum class StringSetting enum class IntSetting { + PLAYSPACE_snapTurnAngle, + PLAYSPACE_smoothTurnRate, + PLAYSPACE_dragComfortFactor, + PLAYSPACE_turnComfortFactor, + UTILITY_alarmHour, UTILITY_alarmMinute, // LAST_ENUMERATOR must always be set to the last value diff --git a/src/settings/settings_controller.h b/src/settings/settings_controller.h index 7a1b83c..e830391 100644 --- a/src/settings/settings_controller.h +++ b/src/settings/settings_controller.h @@ -347,6 +347,23 @@ private: constexpr static auto intSettingsSize = static_cast( IntSetting::LAST_ENUMERATOR ) + 1; std::array m_intSettings{ + IntSettingValue{ IntSetting::PLAYSPACE_snapTurnAngle, + SettingCategory::Playspace, + QtInfo{ "snapTurnAngle" }, + 4500 }, + IntSettingValue{ IntSetting::PLAYSPACE_smoothTurnRate, + SettingCategory::Playspace, + QtInfo{ "smoothTurnRate" }, + 100 }, + IntSettingValue{ IntSetting::PLAYSPACE_dragComfortFactor, + SettingCategory::Playspace, + QtInfo{ "dragComfortFactor" }, + 0 }, + IntSettingValue{ IntSetting::PLAYSPACE_turnComfortFactor, + SettingCategory::Playspace, + QtInfo{ "turnComfortFactor" }, + 0 }, + IntSettingValue{ IntSetting::UTILITY_alarmHour, SettingCategory::Utility, QtInfo{ "alarmHour" }, diff --git a/src/tabcontrollers/MoveCenterTabController.cpp b/src/tabcontrollers/MoveCenterTabController.cpp index 125f084..cd41f18 100644 --- a/src/tabcontrollers/MoveCenterTabController.cpp +++ b/src/tabcontrollers/MoveCenterTabController.cpp @@ -39,9 +39,6 @@ namespace advsettings { void MoveCenterTabController::initStage1() { - auto settings = OverlayController::appSettings(); - settings->beginGroup( "playspaceSettings" ); - m_adjustChaperone = settings::getSetting( settings::BoolSetting::PLAYSPACE_adjustChaperone ); @@ -58,26 +55,15 @@ void MoveCenterTabController::initStage1() m_turnBounds = settings::getSetting( settings::BoolSetting::PLAYSPACE_turnBounds ); - auto value = settings->value( "dragComfortFactor", m_dragComfortFactor ); - if ( value.isValid() && !value.isNull() ) - { - m_dragComfortFactor = value.toUInt(); - } - value = settings->value( "turnComfortFactor", m_turnComfortFactor ); - if ( value.isValid() && !value.isNull() ) - { - m_turnComfortFactor = value.toUInt(); - } - value = settings->value( "snapTurnAngle", m_snapTurnAngle ); - if ( value.isValid() && !value.isNull() ) - { - m_snapTurnAngle = value.toInt(); - } - value = settings->value( "smoothTurnRate", m_smoothTurnRate ); - if ( value.isValid() && !value.isNull() ) - { - m_smoothTurnRate = value.toInt(); - } + m_dragComfortFactor = static_cast( settings::getSetting( + settings::IntSetting::PLAYSPACE_dragComfortFactor ) ); + m_turnComfortFactor = static_cast( settings::getSetting( + settings::IntSetting::PLAYSPACE_turnComfortFactor ) ); + + m_snapTurnAngle + = settings::getSetting( settings::IntSetting::PLAYSPACE_snapTurnAngle ); + m_smoothTurnRate = settings::getSetting( + settings::IntSetting::PLAYSPACE_smoothTurnRate ); m_heightToggleOffset = static_cast( settings::getSetting( settings::DoubleSetting::PLAYSPACE_heightToggleOffset ) ); @@ -107,7 +93,6 @@ void MoveCenterTabController::initStage1() m_simpleRecenter = settings::getSetting( settings::BoolSetting::PLAYSPACE_simpleRecenter ); - settings->endGroup(); reloadOffsetProfiles(); m_k_moveCenterSettingsUpdateCounter = utils::adjustUpdateRate( k_moveCenterSettingsUpdateCounter );