summaryrefslogtreecommitdiffstats
path: root/core/settings/qPrefPrivate.h
diff options
context:
space:
mode:
authorGravatar jan Iversen <jani@apache.org>2018-07-18 20:47:59 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-07-25 08:35:04 -0700
commitf1648d297b174024bf772cbd6b482185532e0812 (patch)
treefd6b7bcc3346cdf0581d8ca91c8529516385517a /core/settings/qPrefPrivate.h
parent597aa75348f8282e9a9d6349dd06192740fccd1f (diff)
downloadsubsurface-f1648d297b174024bf772cbd6b482185532e0812.tar.gz
core: qPref replace COPY_TXT with copy_txt in qPrefPrivate
Add copy_txt function to qPrefPrivate class Remove macro COPY_TXT from qPrefPrivate.h Replace use of COPY_TXT with copy_txt in qPref classes copy_txt is only once, COPY_TXT was expanded approx. 160 times, so this commit saves space (and removes a macro). Signed-off-by: Jan Iversen <jani@apache.org>
Diffstat (limited to 'core/settings/qPrefPrivate.h')
-rw-r--r--core/settings/qPrefPrivate.h13
1 files changed, 4 insertions, 9 deletions
diff --git a/core/settings/qPrefPrivate.h b/core/settings/qPrefPrivate.h
index e4131e9e4..558333990 100644
--- a/core/settings/qPrefPrivate.h
+++ b/core/settings/qPrefPrivate.h
@@ -3,7 +3,6 @@
#define QPREFPRIVATE_H
// Header used by all qPref<class> implementations to avoid duplicating code
-
#include <QSettings>
#include <QVariant>
#include <QObject>
@@ -18,17 +17,13 @@ public:
QSettings setting;
+ // Helper functions
+ static void copy_txt(const char **name, const QString& string);
+
private:
qPrefPrivate(QObject *parent = NULL);
};
-//****** Macros to be used in the set functions ******
-#define COPY_TXT(name, string) \
-{ \
- free((void *)prefs.name); \
- prefs.name = copy_qstring(string); \
-}
-
//****** Macros to be used in the disk functions, which are special ******
#define LOADSYNC_BOOL(name, field) \
{ \
@@ -191,7 +186,7 @@ void qPref ## usegroup::set_ ## field (int value) \
void qPref ## usegroup::set_ ## field (const QString& value) \
{ \
if (value != prefs.field) { \
- COPY_TXT(field, value); \
+ qPrefPrivate::instance()->copy_txt(&prefs.field, value); \
disk_ ## field(true); \
emit field ## _changed(value); \
} \