diff --git a/headers/scstwappsettings.h b/headers/scstwappsettings.h index 4db3f07..26a6401 100644 --- a/headers/scstwappsettings.h +++ b/headers/scstwappsettings.h @@ -35,6 +35,18 @@ public: return QMetaEnum::fromType().valueToKey(key); } + static QVariant::Type keyToType(int key) { + QMap types = { + {AppThemeSetting, QVariant::String}, + {BaseStationIpSetting, QVariant::String} + }; + + if(types.contains(AppInternalSetting(key))) + return types[AppInternalSetting(key)]; + + return QVariant::Invalid; + } + signals: public slots: diff --git a/shared-libraries b/shared-libraries index 150b33b..d982baf 160000 --- a/shared-libraries +++ b/shared-libraries @@ -1 +1 @@ -Subproject commit 150b33b483547b1e8df49eb9bb5b149da0b29a0e +Subproject commit d982bafab14b45e407b30efdaa6c1acdcbe6b781 diff --git a/sources/scstwappsettings.cpp b/sources/scstwappsettings.cpp index 8a96d24..fff6223 100644 --- a/sources/scstwappsettings.cpp +++ b/sources/scstwappsettings.cpp @@ -22,7 +22,7 @@ ScStwAppSettings * pGlobalAppSettings = nullptr; ScStwAppSettings::ScStwAppSettings(ScStwClient * client, QObject* parent) :ScStwRemoteSettings(client, parent) { - this->registerKeyLevelHandler(ScStwAppSettings::KeyLevel, &ScStwAppSettings::keyToString); + this->registerKeyLevelConverters(ScStwAppSettings::KeyLevel, &ScStwAppSettings::keyToString, &ScStwAppSettings::keyToType); } QVariant ScStwAppSettings::readSetting(AppInternalSetting key) {