mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: copy Animations from SettingsObjectWrapper to qPref as its own class
Update set/get functions to follow common name scheme: - get function have same name as in struct preferences - set function have set_<name in struct preferences> - signal function have <name in struct preferences>_changed one class one .h/.cpp is the C++ idiom. Having load/sync of each variable in 1 functions (in contrast to the distributed way SettingsObjectWrapper handles it) secures the same storage name is used. Having the set/get/load/sync functions grouped together makes it easier to get an overview. REMARK: this commit only defines the class, it is not active in production Signed-off-by: Jan Iversen <jani@apache.org>
This commit is contained in:
parent
859b2dcfa4
commit
3a314c3dec
6 changed files with 66 additions and 3 deletions
38
core/settings/qPrefAnimations.h
Normal file
38
core/settings/qPrefAnimations.h
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#ifndef QPREFANIMATIONS_H
|
||||
#define QPREFANIMATIONS_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QSettings>
|
||||
|
||||
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:
|
||||
int animation_speed() const;
|
||||
|
||||
public slots:
|
||||
void set_animation_speed(int value);
|
||||
|
||||
signals:
|
||||
void animation_speed_changed(int value);
|
||||
|
||||
private:
|
||||
const QString group = QStringLiteral("Animations");
|
||||
QSettings setting;
|
||||
|
||||
// functions to load/sync variable with disk
|
||||
void disk_animation_speed(bool doSync);
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue