settingsservice.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. Q_PROPERTY(QString selectedStoreId READ selectedStoreId WRITE setSelectedStoreId NOTIFY selectedStoreIdChanged)
  11. public:
  12. static SettingsService *instance()
  13. {
  14. static SettingsService i;
  15. return &i;
  16. }
  17. QString serverAddress() const;
  18. void setServerAddress(const QString &address);
  19. QString selectedUserId() const;
  20. void setSelectedUserId(const QString &userId);
  21. QString selectedStoreId() const;
  22. void setSelectedStoreId(const QString &storeId);
  23. signals:
  24. void serverAddressChanged();
  25. void selectedUserIdChanged();
  26. void selectedStoreIdChanged();
  27. private:
  28. QVariant value(const QString &key, const QVariant &defaultValue = QVariant{}) const;
  29. void setValue(const QString &key, const QVariant &value);
  30. SettingsService() = default;
  31. ~SettingsService() = default;
  32. QSettings m_settings = QSettings("DedSoft", "BeerLog");
  33. };
  34. #endif // SETTINGSSERVICE_H