switched from qsettings to json added editng of actors

This commit is contained in:
Carl Klemm 2019-06-06 21:19:12 +02:00
parent b04fbfb5bc
commit df27b622a0
141 changed files with 4402 additions and 5068 deletions

57
src/actors/alarmtime.h Normal file
View file

@ -0,0 +1,57 @@
#ifndef ALARMTIME_H
#define ALARMTIME_H
#include <QDateTime>
#include <QObject>
#include <QRunnable>
#include <QScopedPointer>
#include <QEventLoop>
#include <QTimer>
#include <QProcess>
#include <QDebug>
#include <stdint.h>
#include "actor.h"
class AlarmTime : public Actor, public QRunnable
{
Q_OBJECT
public:
static const uint8_t REPEAT_NEVER = 0;
static const uint8_t REPEAT_DAILY = 1;
static const uint8_t REPEAT_WEEKLY = 2;
static const uint8_t REPEAT_MONTHLY = 3;
static const uint8_t REPEAT_YEARLY = 4;
private:
bool triggerd_ = false;
QDateTime time_;
QTimer timer;
uint8_t repeat_ = REPEAT_NEVER;
public:
explicit AlarmTime(const QDateTime time = QDateTime::currentDateTime(), QObject *parent = nullptr);
~AlarmTime();
QDateTime getDateTime();
virtual void store(QJsonObject& json);
virtual void load(const QJsonObject& json);
virtual void store(QString subsecton, QSettings* settings);
virtual void load(QString subsecton, QSettings* settings);
uint8_t getRepeat();
public slots:
void run();
virtual void makeActive();
virtual void makeInactive();
virtual QString getName();
void doTick();
void changeTime(const QDateTime& time);
void setRepeat(const uint8_t repeat);
};
#endif // ALARMTIME_H