Files
Sourcetrail/src/lib/settings/ProjectSettings.cpp
T
Andreas Stallinger e7a977dd5c UI: ProjectSettingsUI
ProjectSettingsUI for creation of new Projects + StartScreen design update
2015-08-03 17:24:24 +02:00

91 lines
2.6 KiB
C++

#include "settings/ProjectSettings.h"
std::shared_ptr<ProjectSettings> ProjectSettings::s_instance;
std::shared_ptr<ProjectSettings> ProjectSettings::getInstance()
{
if (!s_instance)
{
s_instance = std::shared_ptr<ProjectSettings>(new ProjectSettings());
}
return s_instance;
}
ProjectSettings::ProjectSettings()
{
}
ProjectSettings::~ProjectSettings()
{
}
void ProjectSettings::save(const FilePath& filePath)
{
moveRelativePathValues("source/SourcePaths/SourcePath", filePath);
moveRelativePathValues("source/HeaderSearchPaths/HeaderSearchPath", filePath);
moveRelativePathValues("source/FrameworkSearchPaths/FrameworkSearchPath", filePath);
Settings::save(filePath);
}
std::vector<FilePath> ProjectSettings::getSourcePaths() const
{
return getRelativePathValues("source/SourcePaths/SourcePath");
}
bool ProjectSettings::setSourcePaths(const std::vector<FilePath>& sourcePaths)
{
return setPathValues("source/SourcePaths/SourcePath", sourcePaths);
}
std::vector<FilePath> ProjectSettings::getHeaderSearchPaths() const
{
return getRelativePathValues("source/HeaderSearchPaths/HeaderSearchPath");
}
bool ProjectSettings::setHeaderSearchPaths(const std::vector<FilePath>& headerSearchPaths)
{
return setPathValues("source/HeaderSearchPaths/HeaderSearchPath", headerSearchPaths);
}
std::vector<FilePath> ProjectSettings::getFrameworkSearchPaths() const
{
return getRelativePathValues("source/FrameworkSearchPaths/FrameworkSearchPath");
}
bool ProjectSettings::setFrameworkSearchPaths(const std::vector<FilePath>& frameworkSearchPaths)
{
return setPathValues("source/FrameworkSearchPaths/FrameworkSearchPath", frameworkSearchPaths);
}
std::vector<std::string> ProjectSettings::getCompilerFlags() const
{
std::vector<std::string> defaultValues;
return getValues("source/CompilerFlags/CompilerFlag", defaultValues);
}
std::vector<std::string> ProjectSettings::getHeaderExtensions() const
{
std::vector<std::string> defaultValues;
defaultValues.push_back(".h");
return getValues("source/Extensions/HeaderExtensions", defaultValues);
}
std::vector<std::string> ProjectSettings::getSourceExtensions() const
{
std::vector<std::string> defaultValues;
defaultValues.push_back(".cpp");
return getValues("source/Extensions/SourceExtensions", defaultValues);
}
bool ProjectSettings::setHeaderExtensions(const std::vector<std::string> &headerExtensions)
{
return setValues("source/Extensions/HeaderExtensions", headerExtensions);
}
bool ProjectSettings::setSourceExtensions(const std::vector<std::string> &sourceExtensions)
{
return setValues("source/Extensions/SourceExtensions", sourceExtensions);
}