#include <map>
#include <QDebug>
#include <QSettings>
#include <qucs.h>
class settingsManager : public QSettings
{
public:
explicit settingsManager();
~settingsManager();
*/
void resetDefaults(const QString& group = "All");
*/
template<class T>
T itemDefault(const QString& key)
{
return value(key).value<T>();
}
*/
template<class T>
void setItem(const QString& key, const T& value)
{
setValue(key, value);
}
*/
template<class T>
T item(const QString& key)
{
if (contains(key)) {
return value(key).value<T>();
}
for (auto alias : m_Aliases[key]) {
if (contains(alias)) {
return value(alias).value<T>();
}
}
return m_Defaults[key].value<T>();
}
private:
std::map<QString, QVariant> m_Defaults;
std::map<QString, QStringList> m_Aliases;
*/
void initDefaults();
* (legacy names for settings that have been used in the past).
*/
void initAliases();
};
typedef QucsSingleton<settingsManager> _settings;