Add OffsetProfiles to new object settings API

This commit is contained in:
Vasily
2020-01-30 10:36:21 +01:00
committed by username223
parent dcbf76cb0b
commit 4bfe944461
2 changed files with 31 additions and 38 deletions
+29 -1
View File
@@ -6,6 +6,7 @@
#include <chrono>
#include <qmath.h>
#include "../utils/FrameRateUtils.h"
#include "../settings/settings_object.h"
class QQuickWindow;
// application namespace
@@ -28,13 +29,40 @@ constexpr double k_maxOvrasUniverseCenteredTurningOffset = 25000.0;
class OverlayController;
struct OffsetProfile
struct OffsetProfile : settings::ISettingsObject
{
std::string profileName;
float offsetX = 0.0f;
float offsetY = 0.0f;
float offsetZ = 0.0f;
int rotation = 0;
virtual std::string settingsName() const override
{
return "MoveCenterTabController::OffsetProfile";
}
virtual settings::SettingsObjectData saveSettings() const override
{
settings::SettingsObjectData o;
o.addValue( static_cast<double>( offsetX ) );
o.addValue( static_cast<double>( offsetY ) );
o.addValue( static_cast<double>( offsetZ ) );
o.addValue( rotation );
return o;
}
virtual void loadSettings( settings::SettingsObjectData& obj ) override
{
offsetX = static_cast<float>( obj.getNextValueOrDefault( 0.0 ) );
offsetY = static_cast<float>( obj.getNextValueOrDefault( 0.0 ) );
offsetZ = static_cast<float>( obj.getNextValueOrDefault( 0.0 ) );
rotation = obj.getNextValueOrDefault( 0 );
}
};
class MoveCenterTabController : public QObject