#include "settings.h" template SettingsEntry::SettingsEntry(const std::string category, const std::string name, T defaultValue) : category(category), name(name), defaultValue(defaultValue) { } template SettingsEntry::~SettingsEntry() { } SettingsEntry Settings::indentationWidth("editor", "indentationWidth", 4); SettingsEntry Settings::tabWidth("editor", "tabWidth", 8); SettingsEntry Settings::lineWrap("editor", "lineWrap", LINE_WRAP_WORD); Settings *Settings::inst(bool erase) { static Settings *instance = new Settings; if (erase) { delete instance; instance = NULL; } return instance; } Settings::Settings() { } Settings::~Settings() { } template T Settings::defaultValue(const SettingsEntry &entry) { return entry.defaultValue; } template int Settings::defaultValue(const SettingsEntry&); template SettingsLineWrap Settings::defaultValue(const SettingsEntry&);