-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSettings.cpp
More file actions
38 lines (35 loc) · 1.46 KB
/
Settings.cpp
File metadata and controls
38 lines (35 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "Settings.h"
#include "UpdateManager/UpdateManager.h"
#include "UpdateManager/Utils/Utils.h"
#include "UpdateManager/Utils/ini/ini.h"
#include <string>
std::string settingsini;
void Settings::LoadSettings()
{
settingsini = to_string(UpdateManager::GetExecutableFolder().wstring() + L"\\settings.ini");
if (fs::exists(settingsini)) {
inih::INIReader r{ settingsini };
Settings::LowRAM = r.Get<bool>("settings", "low_ram", false);
Settings::DarkMode = r.Get<bool>("settings", "dark_mode", true);
Settings::ThreadsCount = r.Get<int>("settings", "threads_count", 1);
Settings::AlwaysUnpackDepot = r.Get<bool>("settings", "always_unpack", true);
#ifdef _DEBUG
Settings::ShowImGuiDemoWindow = r.Get<bool>("settings", "show_demo", true);
#endif
Settings::Admin::SkipRemoveConfirmation = r.Get<bool>("settings", "skip_remove_confirmation", true);
}
}
void Settings::SaveSettings()
{
inih::INIReader r;
r.InsertEntry<bool>("settings", "low_ram", Settings::LowRAM);
r.InsertEntry<bool>("settings", "dark_mode", Settings::DarkMode);
r.InsertEntry<int>("settings", "threads_count", Settings::ThreadsCount);
r.InsertEntry<bool>("settings", "always_unpack", Settings::AlwaysUnpackDepot);
r.InsertEntry<bool>("settings", "show_demo", Settings::ShowImGuiDemoWindow);
r.InsertEntry<bool>("settings", "skip_remove_confirmation", Settings::Admin::SkipRemoveConfirmation);
if (fs::exists(settingsini)) {
fs::remove(settingsini);
}
inih::INIWriter::write(settingsini, r);
}