src: Moved path prefilling to ApplicationSettingsPrefiller

* added subdirectory for all source group settings related files
This commit is contained in:
Eberhard Graether
2019-07-16 14:29:34 +02:00
parent 086c19f25e
commit 70febae55b
61 changed files with 239 additions and 195 deletions
@@ -0,0 +1,60 @@
#ifndef SOURCE_GROUP_SETTINGS_H
#define SOURCE_GROUP_SETTINGS_H
#include <memory>
#include <vector>
#include "LanguageType.h"
#include "SourceGroupSettingsBase.h"
#include "SourceGroupStatusType.h"
#include "SourceGroupType.h"
class ConfigManager;
class FilePath;
class SourceGroupSettings
: virtual public SourceGroupSettingsBase
{
public:
static const size_t s_version;
static const std::string s_keyPrefix;
SourceGroupSettings(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings);
virtual ~SourceGroupSettings() = default;
virtual std::shared_ptr<SourceGroupSettings> createCopy() const = 0;
virtual void load(std::shared_ptr<const ConfigManager> config);
virtual void save(std::shared_ptr<ConfigManager> config);
virtual bool equals(std::shared_ptr<SourceGroupSettings> other) const;
std::string getId() const;
void setId(const std::string& id);
SourceGroupType getType() const;
LanguageType getLanguage() const;
std::string getName() const;
void setName(const std::string& name);
SourceGroupStatusType getStatus() const;
void setStatus(SourceGroupStatusType status);
const ProjectSettings* getProjectSettings() const override;
FilePath getSourceGroupDependenciesDirectoryPath() const override;
FilePath getProjectDirectoryPath() const;
std::vector<FilePath> makePathsExpandedAndAbsolute(const std::vector<FilePath>& paths) const;
protected:
const ProjectSettings* m_projectSettings;
private:
std::string m_id;
std::string m_name;
const SourceGroupType m_type;
SourceGroupStatusType m_status;
};
#endif // SOURCE_GROUP_SETTINGS_H