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
+2 -2
View File
@@ -33,6 +33,7 @@
#include "util/DistanceBetweenPoints.hpp"
#include "util/Helpers.hpp"
#include "util/IncognitoBrowser.hpp"
#include "util/QMagicEnum.hpp"
#include "util/Twitch.hpp"
#include "widgets/dialogs/ReplyThreadPopup.hpp"
#include "widgets/dialogs/SettingsDialog.hpp"
@@ -266,8 +267,7 @@ void addHiddenContextMenuItems(QMenu *menu,
jsonObject["id"] = message->id;
jsonObject["searchText"] = message->searchText;
jsonObject["messageText"] = message->messageText;
jsonObject["flags"] = QString::fromStdString(
magic_enum::enum_flags_name(message->flags.value()));
jsonObject["flags"] = qmagicenum::enumFlagsName(message->flags.value());
jsonDocument.setObject(jsonObject);
+2 -2
View File
@@ -1243,7 +1243,7 @@ void GeneralPage::initLayout(GeneralPageView &layout)
helixTimegateModerators->minimumSizeHint().width());
layout.addDropdownEnumClass<ChatSendProtocol>(
"Chat send protocol", magic_enum::enum_names<ChatSendProtocol>(),
"Chat send protocol", qmagicenum::enumNames<ChatSendProtocol>(),
s.chatSendProtocol,
"'Helix' will use Twitch's Helix API to send message. 'IRC' will use "
"IRC to send messages.",
@@ -1256,7 +1256,7 @@ void GeneralPage::initLayout(GeneralPageView &layout)
auto *soundBackend = layout.addDropdownEnumClass<SoundBackend>(
"Sound backend (requires restart)",
magic_enum::enum_names<SoundBackend>(), s.soundBackend,
qmagicenum::enumNames<SoundBackend>(), s.soundBackend,
"Change this only if you're noticing issues with sound playback on "
"your system",
{});
@@ -276,7 +276,7 @@ public:
template <typename T, std::size_t N>
ComboBox *addDropdownEnumClass(const QString &text,
const std::array<std::string_view, N> &items,
const std::array<QStringView, N> &items,
EnumStringSetting<T> &setting,
QString toolTipText,
const QString &defaultValueText)
@@ -285,7 +285,7 @@ public:
for (const auto &item : items)
{
combo->addItem(QString::fromStdString(std::string(item)));
combo->addItem(item.toString());
}
if (!defaultValueText.isEmpty())
@@ -296,8 +296,7 @@ public:
setting.connect(
[&setting, combo](const QString &value) {
auto enumValue =
magic_enum::enum_cast<T>(value.toStdString(),
magic_enum::case_insensitive)
qmagicenum::enumCast<T>(value, qmagicenum::CASE_INSENSITIVE)
.value_or(setting.defaultValue);
auto i = magic_enum::enum_integer(enumValue);