settingsservice.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef SETTINGSSERVICE_H
  2. #define SETTINGSSERVICE_H
  3. #include <QObject>
  4. #include <QSettings>
  5. class SettingsService : public QObject
  6. {
  7. Q_OBJECT
  8. Q_PROPERTY(QString serverAddress READ serverAddress WRITE setServerAddress NOTIFY serverAddressChanged)
  9. Q_PROPERTY(QString selectedUserId READ selectedUserId WRITE setSelectedUserId NOTIFY selectedUserIdChanged)
  10. public:
  11. static SettingsService *instance()
  12. {
  13. static SettingsService i;
  14. return &i;
  15. }
  16. QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const;
  17. void setValue(const QString &key, const QVariant &value);
  18. QString serverAddress() const;
  19. void setServerAddress(const QString &address);
  20. QString selectedUserId() const;
  21. void setSelectedUserId(const QString &userId);
  22. signals:
  23. void serverAddressChanged();
  24. void selectedUserIdChanged();
  25. private:
  26. SettingsService() = default;
  27. ~SettingsService() = default;
  28. QSettings m_settings = QSettings("DedSoft", "BeerLog");
  29. };
  30. #endif // SETTINGSSERVICE_H