55 lines
1.7 KiB
C++
55 lines
1.7 KiB
C++
#ifndef CONFIG_MANAGER_H
|
|
#define CONFIG_MANAGER_H
|
|
|
|
#include <QObject>
|
|
#include <QJsonObject>
|
|
|
|
class ConfigManager: public QObject
|
|
{
|
|
Q_OBJECT;
|
|
Q_PROPERTY(bool recording READ GetRecordingState WRITE SetRecordingState)
|
|
Q_PROPERTY(int frame_rate READ GetFrameRate WRITE SetFrameRate)
|
|
Q_PROPERTY(double emissivity READ GetEmissivity WRITE SetEmissivity)
|
|
Q_PROPERTY(QString viewfinder_config READ GetViewfinderConfig WRITE SetViewfinderConfig)
|
|
Q_PROPERTY(QString trigger_config READ GetTriggerConfig WRITE SetTriggerConfig)
|
|
|
|
public:
|
|
ConfigManager(QObject *parent);
|
|
virtual ~ConfigManager();
|
|
|
|
public slots:
|
|
bool GetRecordingState();
|
|
void SetRecordingState(bool enable);
|
|
int GetFrameRate();
|
|
void SetFrameRate(int frame_rate);
|
|
double GetEmissivity();
|
|
void SetEmissivity(double emissivity);
|
|
QString GetViewfinderConfig();
|
|
void SetViewfinderConfig(QString config);
|
|
QString GetTriggerConfig();
|
|
void SetTriggerConfig(QString config);
|
|
|
|
signals:
|
|
void NewRecordingState(bool enable);
|
|
void NewFrameRate(int frame_rate);
|
|
void NewEmissivity(double emissivity);
|
|
|
|
private:
|
|
bool recording = false;
|
|
int frame_rate = 5;
|
|
double emissivity = 0.95;
|
|
QJsonObject viewfinder_config = QJsonObject(
|
|
{
|
|
qMakePair(QString("palette"), QJsonValue("rainbow")),
|
|
qMakePair(QString("low_temp"), QJsonValue(0)),
|
|
qMakePair(QString("high_temp"), QJsonValue(100))
|
|
});
|
|
QJsonObject trigger_config = QJsonObject(
|
|
{
|
|
qMakePair(QString("method"), QJsonValue("threshold")),
|
|
qMakePair(QString("min"), QJsonValue(50)),
|
|
qMakePair(QString("max"), QJsonValue(100))
|
|
});
|
|
};
|
|
|
|
#endif |