From 8ba88b5681bc4a1413bd4c37c2f0307cd0752101 Mon Sep 17 00:00:00 2001 From: dgilbert <gilbert@vr.rwth-aachen.de> Date: Tue, 16 Nov 2021 15:31:20 +0100 Subject: [PATCH] Made settings a child of DemoConfig. --- .../RWTHVRToolkit/Private/RWTHVRToolkit.cpp | 31 ++----------------- Source/RWTHVRToolkit/Public/RWTHVRToolkit.h | 2 +- .../Public/RWTHVRToolkitSettings.h | 12 +++++-- 3 files changed, 14 insertions(+), 31 deletions(-) diff --git a/Source/RWTHVRToolkit/Private/RWTHVRToolkit.cpp b/Source/RWTHVRToolkit/Private/RWTHVRToolkit.cpp index 5053d524..677edb94 100644 --- a/Source/RWTHVRToolkit/Private/RWTHVRToolkit.cpp +++ b/Source/RWTHVRToolkit/Private/RWTHVRToolkit.cpp @@ -4,11 +4,6 @@ #include "LiveLinkClient.h" #include "RWTHVRToolkitSettings.h" -#if WITH_EDITOR - #include "ISettingsModule.h" - #include "ISettingsSection.h" -#endif - #define LOCTEXT_NAMESPACE "FRWTHVRToolkitModule" void FRWTHVRToolkitModule::StartupModule () @@ -18,32 +13,13 @@ void FRWTHVRToolkitModule::StartupModule () FCoreDelegates::OnFEngineLoopInitComplete.AddRaw(this, &FRWTHVRToolkitModule::OnEngineLoopInitComplete); #if WITH_EDITOR - if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings")) - { - ISettingsSectionPtr SettingsSection = SettingsModule->RegisterSettings( - "Project", "Plugins", "RWTH VR Toolkit", - LOCTEXT("RWTHVRToolkitSettingsName", "RWTH VR Toolkit"), - LOCTEXT("RWTHVRToolkitSettingsDescription", "Configure the RWTH VR Toolkit."), - GetMutableDefault<URWTHVRToolkitSettings>() - ); - if (SettingsSection.IsValid()) - { - SettingsSection->OnModified().BindRaw(this, &FRWTHVRToolkitModule::HandleSettingsSaved); - } - } + GetMutableDefault<URWTHVRToolkitSettings>()->OnSettingChanged().AddRaw(this, &FRWTHVRToolkitModule::HandleSettingsSaved); #endif } void FRWTHVRToolkitModule::ShutdownModule() { - ConsoleActivation.Unregister(); - -#if WITH_EDITOR - if (ISettingsModule* SettingsModule = FModuleManager::GetModulePtr<ISettingsModule>("Settings")) - { - SettingsModule->UnregisterSettings("Project", "Plugins", "RWTH VR Toolkit"); - } -#endif + ConsoleActivation.Unregister(); } void FRWTHVRToolkitModule::OnEngineLoopInitComplete() @@ -51,10 +27,9 @@ void FRWTHVRToolkitModule::OnEngineLoopInitComplete() ApplyDefaultPreset(); } -bool FRWTHVRToolkitModule::HandleSettingsSaved() +void FRWTHVRToolkitModule::HandleSettingsSaved(UObject* Settings, FPropertyChangedEvent& PropertyChangedEvent) { ApplyDefaultPreset(); - return true; } void FRWTHVRToolkitModule::ApplyDefaultPreset() diff --git a/Source/RWTHVRToolkit/Public/RWTHVRToolkit.h b/Source/RWTHVRToolkit/Public/RWTHVRToolkit.h index 8bd51d2c..09d2ff29 100644 --- a/Source/RWTHVRToolkit/Public/RWTHVRToolkit.h +++ b/Source/RWTHVRToolkit/Public/RWTHVRToolkit.h @@ -16,7 +16,7 @@ public: private: void OnEngineLoopInitComplete(); - bool HandleSettingsSaved(); + void HandleSettingsSaved(UObject* Settings, FPropertyChangedEvent& PropertyChangedEvent); void ApplyDefaultPreset(); FActivateConsoleInShipping ConsoleActivation; diff --git a/Source/RWTHVRToolkit/Public/RWTHVRToolkitSettings.h b/Source/RWTHVRToolkit/Public/RWTHVRToolkitSettings.h index fa39851c..d229f267 100644 --- a/Source/RWTHVRToolkit/Public/RWTHVRToolkitSettings.h +++ b/Source/RWTHVRToolkit/Public/RWTHVRToolkitSettings.h @@ -9,6 +9,7 @@ #include "Engine/EngineTypes.h" #include "Templates/SubclassOf.h" #include "LiveLinkPreset.h" +#include "Utility/DemoConfig.h" #include "RWTHVRToolkitSettings.generated.h" @@ -16,11 +17,18 @@ /** * Settings for LiveLink. */ -UCLASS(config=Game, defaultconfig) -class RWTHVRTOOLKIT_API URWTHVRToolkitSettings : public UObject +UCLASS(config=RWTHVRToolkit, defaultconfig) +class RWTHVRTOOLKIT_API URWTHVRToolkitSettings : public UDemoConfig { GENERATED_BODY() + virtual FName GetCategoryName() const override { return "Plugins"; }; + +#if WITH_EDITOR + virtual FText GetSectionText() const override { return FText::FromString("RWTH VR Toolkit"); }; +#endif + + public: URWTHVRToolkitSettings() = default; -- GitLab