app/headers/scstwappsettings.h

46 lines
1.1 KiB
C++

#ifndef APPSETTINGS_H
#define APPSETTINGS_H
#include <QObject>
#include <QSettings>
#include <QStandardPaths>
#include "scstwremotesettings.h"
class ScStwAppSettings : public ScStwRemoteSettings
{
Q_OBJECT
public:
explicit ScStwAppSettings(ScStwClient * scStwClient, QObject *parent = nullptr);
enum AppInternalSetting {
InvalidSetting = -1,
AppThemeSetting,
BaseStationIpSetting
};
Q_ENUM(AppInternalSetting)
enum KeyLevelEnum {
KeyLevel = 1
};
Q_ENUM(KeyLevelEnum)
using ScStwSettings::readSetting;
Q_INVOKABLE QVariant readSetting(AppInternalSetting key);
using ScStwSettings::writeSetting;
Q_INVOKABLE bool writeSetting(AppInternalSetting key, QVariant value);
using ScStwSettings::setDefaultSetting;
Q_INVOKABLE bool setDefaultSetting(AppInternalSetting key, QVariant defaultValue);
static QString keyToString(int key) {
return QMetaEnum::fromType<AppInternalSetting>().valueToKey(key);
}
signals:
public slots:
};
extern ScStwAppSettings * pGlobalAppSettings;
#endif // APPSETTINGS_H