subsurface/core/settings/qPrefAnimations.h
jan Iversen 254ba61fd9 core: make load/sync inline in qPrefAnimations
Signed-off-by: Jan Iversen <jani@apache.org>
2018-07-25 08:35:04 -07:00

35 lines
846 B
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef QPREFANIMATIONS_H
#define QPREFANIMATIONS_H
#include "core/pref.h"
#include <QObject>
class qPrefAnimations : public QObject {
Q_OBJECT
Q_PROPERTY(int animation_speed READ animation_speed WRITE set_animation_speed NOTIFY animation_speed_changed);
public:
qPrefAnimations(QObject *parent = NULL);
static qPrefAnimations *instance();
// Load/Sync local settings (disk) and struct preference
void loadSync(bool doSync);
void inline load() { loadSync(false); }
void inline sync() { loadSync(true); }
public:
static inline int animation_speed() { return prefs.animation_speed; };
public slots:
void set_animation_speed(int value);
signals:
void animation_speed_changed(int value);
private:
// functions to load/sync variable with disk
void disk_animation_speed(bool doSync);
};
#endif