refactor: adapt magic_enum to Qt (#5258)

This commit is contained in:
nerix
2024-03-23 12:22:42 +01:00
committed by GitHub
parent 044d457d20
commit ed20e71db4
25 changed files with 603 additions and 80 deletions
+5 -7
View File
@@ -1,6 +1,7 @@
#pragma once
#include <magic_enum/magic_enum.hpp>
#include "util/QMagicEnum.hpp"
#include <pajlada/settings.hpp>
#include <QString>
@@ -108,10 +109,7 @@ public:
template <typename T2>
EnumStringSetting<Enum> &operator=(Enum newValue)
{
std::string enumName(magic_enum::enum_name(newValue));
auto qEnumName = QString::fromStdString(enumName);
this->setValue(qEnumName.toLower());
this->setValue(qmagicenum::enumNameString(newValue).toLower());
return *this;
}
@@ -130,8 +128,8 @@ public:
Enum getEnum()
{
return magic_enum::enum_cast<Enum>(this->getValue().toStdString(),
magic_enum::case_insensitive)
return qmagicenum::enumCast<Enum>(this->getValue(),
qmagicenum::CASE_INSENSITIVE)
.value_or(this->defaultValue);
}
+3 -4
View File
@@ -9,6 +9,7 @@
#include "util/AbandonObject.hpp"
#include "util/DebugCount.hpp"
#include "util/PostToThread.hpp"
#include "util/QMagicEnum.hpp"
#include <magic_enum/magic_enum.hpp>
#include <QCryptographicHash>
@@ -181,11 +182,9 @@ void NetworkData::emitFinally()
});
}
QLatin1String NetworkData::typeString() const
QString NetworkData::typeString() const
{
auto view = magic_enum::enum_name<NetworkRequestType>(this->requestType);
return QLatin1String{view.data(),
static_cast<QLatin1String::size_type>(view.size())};
return qmagicenum::enumNameString(this->requestType);
}
void load(std::shared_ptr<NetworkData> &&data)
+1 -1
View File
@@ -60,7 +60,7 @@ public:
void emitError(NetworkResult &&result);
void emitFinally();
QLatin1String typeString() const;
QString typeString() const;
private:
QString hash_;