refactor: use SettingWidget::dropdown for emoji style (#6300)
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace chatterino {
|
||||
|
||||
/// The available emoji styles in Chatterino
|
||||
///
|
||||
/// Each enum value has a "bitset value" defined so it can be used in a FlagsEnum to figure out
|
||||
/// which emojis support which emoji style / set
|
||||
enum class EmojiStyle : std::uint8_t {
|
||||
Twitter = 1 << 0,
|
||||
Facebook = 1 << 1,
|
||||
Apple = 1 << 2,
|
||||
Google = 1 << 3,
|
||||
};
|
||||
|
||||
} // namespace chatterino
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "messages/Emote.hpp"
|
||||
#include "messages/Image.hpp"
|
||||
#include "singletons/Settings.hpp"
|
||||
#include "util/QCompareTransparent.hpp"
|
||||
#include "util/QMagicEnum.hpp"
|
||||
#include "util/RapidjsonHelpers.hpp"
|
||||
|
||||
@@ -245,15 +246,15 @@ void Emojis::sortEmojis()
|
||||
void Emojis::loadEmojiSet()
|
||||
{
|
||||
getSettings()->emojiSet.connect([this](const auto &emojiSet) {
|
||||
EmojiData::Capability setCapability =
|
||||
qmagicenum::enumCast<EmojiData::Capability>(emojiSet).value_or(
|
||||
EmojiData::Capability::Google);
|
||||
auto setCapability = qmagicenum::enumCast<EmojiData::Capability>(
|
||||
emojiSet, qmagicenum::CASE_INSENSITIVE)
|
||||
.value_or(EmojiData::Capability::Google);
|
||||
|
||||
for (const auto &emoji : this->emojis)
|
||||
{
|
||||
QString emojiSetToUse = emojiSet;
|
||||
// clang-format off
|
||||
static std::map<QString, QString> emojiSets = {
|
||||
static std::map<QString, QString, QCompareCaseInsensitive> emojiSets = {
|
||||
// JSDELIVR
|
||||
// {"Twitter", "https://cdn.jsdelivr.net/npm/emoji-datasource-twitter@4.0.4/img/twitter/64/"},
|
||||
// {"Facebook", "https://cdn.jsdelivr.net/npm/emoji-datasource-facebook@4.0.4/img/facebook/64/"},
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "common/FlagsEnum.hpp"
|
||||
#include "providers/emoji/EmojiStyle.hpp"
|
||||
|
||||
#include <boost/variant.hpp>
|
||||
#include <QMap>
|
||||
@@ -30,12 +31,7 @@ struct EmojiData {
|
||||
// i.e. thinking
|
||||
std::vector<QString> shortCodes;
|
||||
|
||||
enum class Capability : uint8_t {
|
||||
Apple = 1 << 0,
|
||||
Google = 1 << 1,
|
||||
Twitter = 1 << 2,
|
||||
Facebook = 1 << 3,
|
||||
};
|
||||
using Capability = EmojiStyle;
|
||||
using Capabilities = FlagsEnum<Capability>;
|
||||
|
||||
Capabilities capabilities;
|
||||
|
||||
Reference in New Issue
Block a user