44* @licence: MIT
55*/
66
7- #include " OvEditor/Settings/EditorSettings.h"
7+ #include < filesystem>
8+
9+ #include < OvEditor/Settings/EditorSettings.h>
810#include < OvTools/Filesystem/IniFile.h>
11+ #include < OvTools/Utils/SystemCalls.h>
912
1013template <class T >
1114void LoadIniEntry (OvTools::Filesystem::IniFile& iniFile, const std::string& entry, OvEditor::Settings::EditorSettings::Property<T>& out)
@@ -16,10 +19,20 @@ void LoadIniEntry(OvTools::Filesystem::IniFile& iniFile, const std::string& entr
1619 }
1720}
1821
22+ OvTools::Filesystem::IniFile GetEditorIniFile ()
23+ {
24+ const auto filePath = std::filesystem::path{ OvTools::Utils::SystemCalls::GetPathToAppdata () } /
25+ " OverloadTech" /
26+ " OvEditor" /
27+ " editor.ini" ;
28+
29+ return OvTools::Filesystem::IniFile{ filePath.string () };
30+ }
31+
1932void OvEditor::Settings::EditorSettings::Save ()
2033{
21- std::string editorSettingsPath = std::string ( getenv ( " APPDATA " )) + " \\ OverloadTech \\ OvEditor \\ editor.ini " ;
22- OvTools::Filesystem::IniFile iniFile (editorSettingsPath);
34+ OvTools::Filesystem::IniFile iniFile = GetEditorIniFile () ;
35+
2336 iniFile.RemoveAll ();
2437 iniFile.Add (" show_geometry_bounds" , ShowGeometryBounds.Get ());
2538 iniFile.Add (" show_light_bounds" , ShowLightBounds.Get ());
@@ -34,8 +47,7 @@ void OvEditor::Settings::EditorSettings::Save()
3447
3548void OvEditor::Settings::EditorSettings::Load ()
3649{
37- std::string editorSettingsPath = std::string (getenv (" APPDATA" )) + " \\ OverloadTech\\ OvEditor\\ editor.ini" ;
38- OvTools::Filesystem::IniFile iniFile (editorSettingsPath);
50+ OvTools::Filesystem::IniFile iniFile = GetEditorIniFile ();
3951
4052 LoadIniEntry<bool >(iniFile, " show_geometry_bounds" , ShowGeometryBounds);
4153 LoadIniEntry<bool >(iniFile, " show_light_bounds" , ShowLightBounds);
0 commit comments