src/settings.h

changeset 233
5509bec02c81
parent 231
a9bf6bab5ea2
child 237
10a6298f636f
--- a/src/settings.h	Mon Jun 20 02:04:51 2022 +0300
+++ b/src/settings.h	Mon Jun 20 16:43:56 2022 +0300
@@ -5,16 +5,11 @@
 #include "libraries.h"
 #include "gl/common.h"
 
-// SettingType - get type of setting by enumerator
-template<typename>
-struct SettingId{};
-
-template<SettingId>
+template<class>
 struct SettingInfo{};
 
 #define SETTING(NAME, DEFVALUE) \
-	namespace SettingIdTypes { class NAME; } \
-	namespace Setting { constexpr SettingId<class NAME##_SettingType> NAME; } \
+	namespace Setting { class NAME;  } \
 	template<> \
 	struct SettingInfo<Setting::NAME> \
 	{ \
@@ -51,21 +46,21 @@
 // -----------------------------------------------------------------------------
 #undef SETTING
 
-template<SettingId X>
+template<class X>
 using SettingType_t = typename SettingInfo<X>::type;
 static_assert(std::is_same_v<SettingType_t<Setting::DrawAxes>, bool>);
 
-template<SettingId X>
+template<class X>
 const char* settingName = SettingInfo<X>::name;
 
-template<SettingId X>
+template<class X>
 inline auto settingDefaultValue()
 {
 	return SettingInfo<X>::defaultValue();
 }
 
 // get() - get setting by enumerator
-template<SettingId X>
+template<class X>
 inline SettingType_t<X> setting()
 {
 	static const QVariant defvariant = QVariant::fromValue(settingDefaultValue<X>());
@@ -74,7 +69,7 @@
 }
 
 // setSetting() - set value of setting
-template<SettingId X>
+template<class X>
 inline void setSetting(const SettingType_t<X>& value)
 {
 	if (value == settingDefaultValue<X>()) {

mercurial