LMMS
Loading...
Searching...
No Matches
qsafesettings.cpp
Go to the documentation of this file.
1/*
2 * Carla plugin host
3 * Copyright (C) 2011-2023 Filipe Coelho <falktx@falktx.com>
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of
8 * the License, or any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * For a full copy of the GNU General Public License see the doc/GPL.txt file.
16 */
17
18#include "qsafesettings.hpp"
19
20//---------------------------------------------------------------------------------------------------------------------
21
22bool QSafeSettings::valueBool(const QString& key, const bool defaultValue) const
23{
24 QVariant var(value(key, defaultValue));
25
26 #if QT_VERSION >= 0x60000
27 if (!var.isNull() && var.convert(QMetaType(QMetaType::Bool)) && var.isValid())
28 #else
29 if (!var.isNull() && var.convert(QVariant::Bool) && var.isValid())
30 #endif
31 return var.toBool();
32
33 return defaultValue;
34}
35
36Qt::CheckState QSafeSettings::valueCheckState(const QString& key, const Qt::CheckState defaultValue) const
37{
38 QVariant var(value(key, defaultValue));
39
40 #if QT_VERSION >= 0x60000
41 if (!var.isNull() && var.convert(QMetaType(QMetaType::UInt)) && var.isValid())
42 #else
43 if (!var.isNull() && var.convert(QVariant::UInt) && var.isValid())
44 #endif
45 {
46 const uint value = var.toUInt();
47
48 switch (value)
49 {
50 case Qt::Unchecked:
51 case Qt::PartiallyChecked:
52 case Qt::Checked:
53 return static_cast<Qt::CheckState>(value);
54 }
55 }
56
57 return defaultValue;
58}
59
60int QSafeSettings::valueIntPositive(const QString& key, const int defaultValue) const
61{
62 QVariant var(value(key, defaultValue));
63
64 #if QT_VERSION >= 0x60000
65 if (!var.isNull() && var.convert(QMetaType(QMetaType::Int)) && var.isValid())
66 #else
67 if (!var.isNull() && var.convert(QVariant::Int) && var.isValid())
68 #endif
69 {
70 const int value = var.toInt();
71 return value >= 0 ? value : defaultValue;
72 }
73
74 return defaultValue;
75}
76
77uint QSafeSettings::valueUInt(const QString& key, const uint defaultValue) const
78{
79 QVariant var(value(key, defaultValue));
80
81 #if QT_VERSION >= 0x60000
82 if (!var.isNull() && var.convert(QMetaType(QMetaType::UInt)) && var.isValid())
83 #else
84 if (!var.isNull() && var.convert(QVariant::UInt) && var.isValid())
85 #endif
86 return var.toUInt();
87
88 return defaultValue;
89}
90
91double QSafeSettings::valueDouble(const QString& key, const double defaultValue) const
92{
93 QVariant var(value(key, defaultValue));
94
95 #if QT_VERSION >= 0x60000
96 if (!var.isNull() && var.convert(QMetaType(QMetaType::Double)) && var.isValid())
97 #else
98 if (!var.isNull() && var.convert(QVariant::Double) && var.isValid())
99 #endif
100 return var.toDouble();
101
102 return defaultValue;
103}
104
105QString QSafeSettings::valueString(const QString& key, const QString& defaultValue) const
106{
107 QVariant var(value(key, defaultValue));
108
109 #if QT_VERSION >= 0x60000
110 if (!var.isNull() && var.convert(QMetaType(QMetaType::QString)) && var.isValid())
111 #else
112 if (!var.isNull() && var.convert(QVariant::String) && var.isValid())
113 #endif
114 return var.toString();
115
116 return defaultValue;
117}
118
119QByteArray QSafeSettings::valueByteArray(const QString& key, const QByteArray defaultValue) const
120{
121 QVariant var(value(key, defaultValue));
122
123 #if QT_VERSION >= 0x60000
124 if (!var.isNull() && var.convert(QMetaType(QMetaType::QByteArray)) && var.isValid())
125 #else
126 if (!var.isNull() && var.convert(QVariant::ByteArray) && var.isValid())
127 #endif
128 return var.toByteArray();
129
130 return defaultValue;
131}
132
133QStringList QSafeSettings::valueStringList(const QString& key, const QStringList defaultValue) const
134{
135 QVariant var(value(key, defaultValue));
136
137 #if QT_VERSION >= 0x60000
138 if (!var.isNull() && var.convert(QMetaType(QMetaType::QStringList)) && var.isValid())
139 #else
140 if (!var.isNull() && var.convert(QVariant::StringList) && var.isValid())
141 #endif
142 return var.toStringList();
143
144 return defaultValue;
145}
146
147//---------------------------------------------------------------------------------------------------------------------
unsigned int uint
Definition CarlaDefines.h:327
static PuglViewHint int value
Definition pugl.h:1708
ZCONST char * key
Definition crypt.c:587