Actually include settings.h and settings.cpp
This commit is contained in:
parent
e25ae8d2cc
commit
629bdbd1f7
2 changed files with 131 additions and 0 deletions
85
src/settings.cpp
Normal file
85
src/settings.cpp
Normal file
|
@ -0,0 +1,85 @@
|
|||
#include "settings.h"
|
||||
|
||||
Settings::Settings(QObject *parent) : QObject(parent)
|
||||
{
|
||||
// Defaults
|
||||
lowerLimit = 25;
|
||||
upperLimit = 75;
|
||||
|
||||
// Just to be sure...
|
||||
QDir datadir = QStandardPaths::writableLocation(QStandardPaths::DataLocation);
|
||||
if(!datadir.exists())
|
||||
datadir.mkdir(QStandardPaths::writableLocation(QStandardPaths::DataLocation));
|
||||
|
||||
// Use Sailfish-provided sounds
|
||||
lowAlertFile = "/usr/share/sounds/jolla-ambient/general_warning.wav";
|
||||
highAlertFile = "/usr/share/sounds/jolla-ambient/positive_confirmation.wav";
|
||||
|
||||
load();
|
||||
}
|
||||
|
||||
Settings::~Settings()
|
||||
{
|
||||
save();
|
||||
}
|
||||
|
||||
void Settings::load()
|
||||
{
|
||||
QDir::setCurrent(QStandardPaths::writableLocation(QStandardPaths::DataLocation));
|
||||
QFile file;
|
||||
|
||||
file.setFileName("lowerLimit");
|
||||
if(file.exists() && file.open(QIODevice::ReadOnly)) {
|
||||
int nextLimit = file.readAll().toInt();
|
||||
if(nextLimit >= 10 && nextLimit <= 50) {
|
||||
lowerLimit = nextLimit;
|
||||
qDebug() << "Lower limit loaded:" << lowerLimit;
|
||||
emit lowerLimitChanged();
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
file.setFileName("upperLimit");
|
||||
if(file.exists() && file.open(QIODevice::ReadOnly)) {
|
||||
int nextLimit = file.readAll().toInt();
|
||||
if(nextLimit >= 60 && nextLimit <= 99) {
|
||||
upperLimit = nextLimit;
|
||||
qDebug() << "Upper limit loaded:" << upperLimit;
|
||||
emit upperLimitChanged();
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
void Settings::save()
|
||||
{
|
||||
QDir::setCurrent(QStandardPaths::writableLocation(QStandardPaths::DataLocation));
|
||||
QFile file;
|
||||
|
||||
file.setFileName("lowerLimit");
|
||||
if(file.open(QIODevice::WriteOnly)) {
|
||||
if(file.write(QString("%1").arg(lowerLimit).toUtf8())) {
|
||||
qDebug() << "Lower limit saved:" << lowerLimit;
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
|
||||
file.setFileName("upperLimit");
|
||||
if(file.open(QIODevice::WriteOnly)) {
|
||||
if(file.write(QString("%1").arg(upperLimit).toUtf8())) {
|
||||
qDebug() << "Upper limit saved:" << upperLimit;
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
int Settings::getLowerLimit() { return lowerLimit; }
|
||||
|
||||
int Settings::getUpperLimit() { return upperLimit; }
|
||||
|
||||
QString Settings::getLowAlert() { return lowAlertFile; }
|
||||
|
||||
QString Settings::getHighAlert() { return highAlertFile; }
|
||||
|
||||
void Settings::setLowerLimit(int newLimit) { lowerLimit = newLimit; }
|
||||
|
||||
void Settings::setUpperLimit(int newLimit) { upperLimit = newLimit; }
|
46
src/settings.h
Normal file
46
src/settings.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
#ifndef SETTINGS_H
|
||||
#define SETTINGS_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
#include <QFile>
|
||||
#include <QDir>
|
||||
#include <QStandardPaths>
|
||||
|
||||
class Settings : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(int lowerLimit READ getLowerLimit WRITE setLowerLimit NOTIFY lowerLimitChanged)
|
||||
Q_PROPERTY(int upperLimit READ getUpperLimit WRITE setUpperLimit NOTIFY upperLimitChanged)
|
||||
Q_PROPERTY(QString lowAlertFile READ getLowAlert NOTIFY lowAlertChanged)
|
||||
Q_PROPERTY(QString highAlertFile READ getHighAlert NOTIFY highAlertChanged)
|
||||
|
||||
public:
|
||||
Settings(QObject* parent = nullptr);
|
||||
~Settings();
|
||||
|
||||
// QML-exposed stuff
|
||||
int getLowerLimit();
|
||||
int getUpperLimit();
|
||||
QString getLowAlert();
|
||||
QString getHighAlert();
|
||||
void setLowerLimit(int newLimit);
|
||||
void setUpperLimit(int newLimit);
|
||||
|
||||
private:
|
||||
int lowerLimit;
|
||||
int upperLimit;
|
||||
QString lowAlertFile;
|
||||
QString highAlertFile;
|
||||
|
||||
void load();
|
||||
void save();
|
||||
|
||||
signals:
|
||||
int lowerLimitChanged();
|
||||
int upperLimitChanged();
|
||||
QString lowAlertChanged();
|
||||
QString highAlertChanged();
|
||||
};
|
||||
|
||||
#endif // SETTINGS_H
|
Loading…
Reference in a new issue