1
0
This repository has been archived on 2025-07-27. You can view files and clone it, but cannot push or open issues or pull requests.
Files
siadrive/SiaDrive.Api/SiaDriveConfig.cpp
Scott E. Graves 43b301f0bc More changes
2017-02-04 00:51:43 -06:00

51 lines
808 B
C++

#include "stdafx.h"
#include "SiaDriveConfig.h"
#include <fstream>
using namespace Sia::Api;
CSiaDriveConfig::CSiaDriveConfig() :
CSiaDriveConfig(DEFAULT_CONFIG_FILE_PATH)
{
}
CSiaDriveConfig::CSiaDriveConfig(const String& filePath) :
_FilePath(filePath)
{
Load();
}
CSiaDriveConfig::~CSiaDriveConfig()
{
Save();
}
void CSiaDriveConfig::LoadDefaults()
{
SetUI_Main_TabIndex(0);
}
void CSiaDriveConfig::Load( )
{
CFile f;
if (f.Open(GetFilePath().c_str(), CFile::modeRead))
{
std::string s;
s.resize(f.GetLength());
f.Read(&s[0], s.length());
f.Close();
_configDocument = json::parse(s.begin(), s.end());
}
else
{
LoadDefaults();
Save();
}
}
void CSiaDriveConfig::Save() const
{
std::ofstream(CW2A(GetFilePath().c_str())) << std::setw(2) << _configDocument << std::endl;
}