Skip to content

Commit b87a2b8

Browse files
committed
New settings: fix compile error
1 parent dff0186 commit b87a2b8

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

settings.hpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ class Settings : private QSettings
2525

2626
public:
2727
#ifndef Q_OS_WIN
28-
explicit Settings(QObject *parent = nullptr) : QSettings("nyo.fr", "QUsb2Snes") {};
28+
explicit Settings(QObject *parent = nullptr) : QSettings("nyo.fr", "QUsb2Snes") {}
2929
#else
3030
explicit Settings(QObject *parent = nullptr) : QSettings("config.ini", QSettings::IniFormat) {};
3131
#endif
32-
~Settings() {};
32+
~Settings() {}
3333
template<SettingsV key> auto value()
3434
{
3535
constexpr QMetaType::Type type = [&]() {
@@ -38,14 +38,16 @@ class Settings : private QSettings
3838
return mapping.type;
3939
return QMetaType::Void;
4040
}();
41-
constexpr QStringView settingString = [&]() {
41+
QStringView settingString = [&]() {
4242
for (const SettingEntry& mapping : settingsEntries)
4343
if (mapping.value == key)
4444
return mapping.entry;
45+
return QStringView();
4546
const QMetaEnum meta = QMetaEnum::fromType<SettingsV>();
4647
const QString text = QString::fromLatin1(meta.valueToKey(key));
4748
return QStringView(text);
4849
}();
50+
4951
qDebug() << "Value() StringKey" << settingString;
5052
if constexpr (type == QMetaType::Bool) {
5153
return QSettings::value(settingString.toString()).toBool();
@@ -56,7 +58,7 @@ class Settings : private QSettings
5658
} else if constexpr (type == QMetaType::QString) {
5759
return QSettings::value(settingString.toString()).toString();
5860
} else {
59-
return QSettings::value(QString(settingString));
61+
return QSettings::value(settingString.toString());
6062
}
6163
}
6264
/*void setValue(SettingsV key, const QVariant& value)
@@ -82,18 +84,18 @@ class Settings : private QSettings
8284
return mapping.type;
8385
return QMetaType::Void;
8486
}();
85-
constexpr QStringView settingString = [&]() {
87+
QStringView settingString = [&]() {
8688
for (const SettingEntry& mapping : settingsEntries)
8789
if (mapping.value == key)
8890
return mapping.entry;
8991
const QMetaEnum meta = QMetaEnum::fromType<SettingsV>();
9092
const QString text = QString::fromLatin1(meta.valueToKey(key));
9193
return QStringView(text);
9294
}();
93-
constexpr bool canConvert = type == QMetaType::Int && std::is_same<T, int>::value
94-
|| type == QMetaType::QString && std::is_convertible<T, QString>::value
95-
|| type == QMetaType::Bool && std::is_same<T, bool>::value
96-
|| type == QMetaType::Double && std::is_same<T, double>::value;
95+
constexpr bool canConvert = (type == QMetaType::Int && std::is_same<T, int>::value)
96+
|| (type == QMetaType::QString && std::is_convertible<T, QString>::value)
97+
|| (type == QMetaType::Bool && std::is_same<T, bool>::value)
98+
|| (type == QMetaType::Double && std::is_same<T, double>::value);
9799

98100
#if __cpp_static_assert >= 202306L
99101
const QMetaEnum meta = QMetaEnum::fromType<SettingsV>();

0 commit comments

Comments
 (0)