refactor: adapt magic_enum to Qt (#5258)
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user