subsurface/core/settings/qPrefAnimations.h
jan Iversen 3eae683b57 core: make qPrefAnimations/CloudStorage getters static and inline
Add static and inline to getter in all qPref header files
Remove call to GET_PREFERENCE_* in qPrefDisplay.cpp
Remove GET_PREFERENCE_* from qPrefPrivate.h

static inline is slightly faster than a function call, but it saves
a lot of coding lines (no lines in qPref*.cpp). Getters are a direct
reference to struct preferences, so they will normally only be used
from QML.

Signed-off-by: Jan Iversen <jani@apache.org>
2018-07-25 08:35:04 -07:00

35 lines
832 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 load() { loadSync(false); }
void 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