#ifndef SETTINGS_H
#define SETTINGS_H

#include <QSettings>

namespace Settings
{
    using SettingsBackup = QMap<QString, QVariant>;

    extern QMap<QString, QVariant> defaults;

    void setDefaultSettings();

    QVariant getValue(QString key);

    void setValue(QString key, QVariant value);

    SettingsBackup createSettingsBackup();

    void restoreFromSettingsBackup(const SettingsBackup& backup);

    void updatePatchComponentsDependencies();
}

#endif // SETTINGS_H
