subsurface/core/settings/qPref.h
jan Iversen e5dace2233 core: copy Display from SettingsObjectWrapper to qPref as its own class
copy Display from SettingsObjectWrapper to qPref as its own class
file. Update Display to use a common load/sync scheme.

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 are made to show the use of the low level LOADSYNC macros, which will
be used for special cases. This class is NOT linked into the live system.

Signed-off-by: Jan Iversen <jani@apache.org>
2018-07-07 09:44:06 -07:00

27 lines
411 B
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef QPREF_H
#define QPREF_H
#include <QObject>
#include <QSettings>
#include "core/pref.h"
#include "qPrefDisplay.h"
class qPref : public QObject {
Q_OBJECT
Q_ENUMS(cloud_status);
public:
qPref(QObject *parent = NULL);
static qPref *instance();
// Load/Sync local settings (disk) and struct preference
void loadSync(bool doSync);
public:
private:
};
#endif