Files
beerlog/services/settingsservice.h

42 lines
1.0 KiB
C++

#ifndef SETTINGSSERVICE_H
#define SETTINGSSERVICE_H
#include <QObject>
#include <QSettings>
class SettingsService : public QObject
{
Q_OBJECT
Q_PROPERTY(QString serverAddress READ serverAddress WRITE setServerAddress NOTIFY serverAddressChanged)
Q_PROPERTY(QString selectedUserId READ selectedUserId WRITE setSelectedUserId NOTIFY selectedUserIdChanged)
public:
static SettingsService *instance()
{
static SettingsService i;
return &i;
}
QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const;
void setValue(const QString &key, const QVariant &value);
QString serverAddress() const;
void setServerAddress(const QString &address);
QString selectedUserId() const;
void setSelectedUserId(const QString &userId);
signals:
void serverAddressChanged();
void selectedUserIdChanged();
private:
SettingsService() = default;
~SettingsService() = default;
QSettings m_settings = QSettings("DedSoft", "BeerLog");
};
#endif // SETTINGSSERVICE_H