/******************************************************************************* ** ** smolbote: yet another qute browser ** Copyright (C) 2017 Xian Nox ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . ** ******************************************************************************/ #ifndef SETTINGS_H #define SETTINGS_H #include #include class Settings { public: explicit Settings(const QString &configFile, const QString &defaultsFile = QString()); ~Settings(); QString configurationPath() const; QString defaultsPath() const; bool isEmpty() const; bool contains(const QString &key); QVariant value(const QString &key) const; private: toml::Value parse(const QString &filename); QVariant fromList(const toml::Value *list) const; QVariant valueToVariant(const toml::Value *value) const; toml::Value values; toml::Value defaults; QString m_configurationPath; QString m_defaultsPath; QString homeLocation; QString settingsLocation; QString cacheLocation; }; #endif // SETTINGS_H