subsurface/mobile-widgets/qmlprefs.h
jan Iversen 8d66633fe7 core: make qPref::cloud_status the only version of the enum
add enum to qPref and remove elsewhere
update source core to reference qPref.

the enum cannot be in pref.h because it is to be used in qml and Q_ENUM
need the enum to be defined as part of the class

Signed-off-by: Jan Iversen <jani@apache.org>
2018-07-10 10:30:50 -07:00

116 lines
2.7 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef QMLPREFS_H
#define QMLPREFS_H
#include <QObject>
#include "core/settings/qPref.h"
class QMLPrefs : public QObject {
Q_OBJECT
Q_PROPERTY(QString cloudPassword
MEMBER m_cloudPassword
WRITE setCloudPassword
NOTIFY cloudPasswordChanged)
Q_PROPERTY(QString cloudPin
MEMBER m_cloudPin
WRITE setCloudPin
NOTIFY cloudPinChanged)
Q_PROPERTY(QString cloudUserName
MEMBER m_cloudUserName
WRITE setCloudUserName
NOTIFY cloudUserNameChanged)
Q_PROPERTY(qPref::cloud_status credentialStatus
MEMBER m_credentialStatus
WRITE setCredentialStatus
NOTIFY credentialStatusChanged)
Q_PROPERTY(bool developer
MEMBER m_developer
WRITE setDeveloper
NOTIFY developerChanged)
Q_PROPERTY(int distanceThreshold
MEMBER m_distanceThreshold
WRITE setDistanceThreshold
NOTIFY distanceThresholdChanged)
Q_PROPERTY(bool showPin
MEMBER m_showPin
WRITE setShowPin
NOTIFY showPinChanged)
Q_PROPERTY(qPref::cloud_status oldStatus
MEMBER m_oldStatus
WRITE setOldStatus
NOTIFY oldStatusChanged)
Q_PROPERTY(QString theme
READ theme
WRITE setTheme
NOTIFY themeChanged)
Q_PROPERTY(int timeThreshold
MEMBER m_timeThreshold
WRITE setTimeThreshold
NOTIFY timeThresholdChanged)
public:
QMLPrefs();
~QMLPrefs();
static QMLPrefs *instance();
const QString cloudPassword() const;
void setCloudPassword(const QString &cloudPassword);
const QString cloudPin() const;
void setCloudPin(const QString &cloudPin);
const QString cloudUserName() const;
void setCloudUserName(const QString &cloudUserName);
qPref::cloud_status credentialStatus() const;
void setCredentialStatus(const qPref::cloud_status value);
void setDeveloper(bool value);
int distanceThreshold() const;
void setDistanceThreshold(int distance);
qPref::cloud_status oldStatus() const;
void setOldStatus(const qPref::cloud_status value);
bool showPin() const;
void setShowPin(bool enable);
int timeThreshold() const;
void setTimeThreshold(int time);
const QString theme() const;
void setTheme(QString theme);
public slots:
void cancelCredentialsPinSetup();
void clearCredentials();
private:
QString m_cloudPassword;
QString m_cloudPin;
QString m_cloudUserName;
qPref::cloud_status m_credentialStatus;
bool m_developer;
int m_distanceThreshold;
static QMLPrefs *m_instance;
qPref::cloud_status m_oldStatus;
bool m_showPin;
int m_timeThreshold;
signals:
void cloudPasswordChanged();
void cloudPinChanged();
void cloudUserNameChanged();
void credentialStatusChanged();
void distanceThresholdChanged();
void developerChanged();
void oldStatusChanged();
void showPinChanged();
void themeChanged();
void timeThresholdChanged();
};
#endif