refactor: Remove Emoji's EmojiMap with a vector (#4980)
This commit is contained in:
@@ -72,15 +72,14 @@ auto makeEmoteMessage(const EmoteMap &map, const MessageElementFlag &emoteFlag)
|
||||
return builder.release();
|
||||
}
|
||||
|
||||
auto makeEmojiMessage(EmojiMap &emojiMap)
|
||||
auto makeEmojiMessage(const std::vector<EmojiPtr> &emojiMap)
|
||||
{
|
||||
MessageBuilder builder;
|
||||
builder->flags.set(MessageFlag::Centered);
|
||||
builder->flags.set(MessageFlag::DisableCompactEmotes);
|
||||
|
||||
emojiMap.each([&builder](const auto &key, const auto &value) {
|
||||
(void)key; // unused
|
||||
|
||||
for (const auto &value : emojiMap)
|
||||
{
|
||||
builder
|
||||
.emplace<EmoteElement>(
|
||||
value->emote,
|
||||
@@ -88,7 +87,7 @@ auto makeEmojiMessage(EmojiMap &emojiMap)
|
||||
MessageElementFlag::EmojiAll})
|
||||
->setLink(
|
||||
Link(Link::Type::InsertText, ":" + value->shortCodes[0] + ":"));
|
||||
});
|
||||
}
|
||||
|
||||
return builder.release();
|
||||
}
|
||||
@@ -165,7 +164,7 @@ void addEmotes(Channel &channel, const EmoteMap &map, const QString &title,
|
||||
channel.addMessage(makeEmoteMessage(map, emoteFlag));
|
||||
}
|
||||
|
||||
void loadEmojis(ChannelView &view, EmojiMap &emojiMap)
|
||||
void loadEmojis(ChannelView &view, const std::vector<EmojiPtr> &emojiMap)
|
||||
{
|
||||
ChannelPtr emojiChannel(new Channel("", Channel::Type::None));
|
||||
emojiChannel->addMessage(makeEmojiMessage(emojiMap));
|
||||
@@ -173,7 +172,8 @@ void loadEmojis(ChannelView &view, EmojiMap &emojiMap)
|
||||
view.setChannel(emojiChannel);
|
||||
}
|
||||
|
||||
void loadEmojis(Channel &channel, EmojiMap &emojiMap, const QString &title)
|
||||
void loadEmojis(Channel &channel, const std::vector<EmojiPtr> &emojiMap,
|
||||
const QString &title)
|
||||
{
|
||||
channel.addMessage(makeTitleMessage(title));
|
||||
channel.addMessage(makeEmojiMessage(emojiMap));
|
||||
@@ -269,7 +269,8 @@ EmotePopup::EmotePopup(QWidget *parent)
|
||||
this->globalEmotesView_ = makeView("Global");
|
||||
this->viewEmojis_ = makeView("Emojis");
|
||||
|
||||
loadEmojis(*this->viewEmojis_, getApp()->emotes->emojis.emojis);
|
||||
loadEmojis(*this->viewEmojis_,
|
||||
getApp()->getEmotes()->getEmojis()->getEmojis());
|
||||
this->addShortcuts();
|
||||
this->signalHolder_.managedConnect(getApp()->hotkeys->onItemsUpdated,
|
||||
[this]() {
|
||||
@@ -546,17 +547,18 @@ void EmotePopup::filterEmotes(const QString &searchText)
|
||||
this->filterTwitchEmotes(searchChannel, searchText);
|
||||
}
|
||||
|
||||
EmojiMap filteredEmojis{};
|
||||
std::vector<EmojiPtr> filteredEmojis{};
|
||||
int emojiCount = 0;
|
||||
|
||||
getApp()->emotes->emojis.emojis.each(
|
||||
[&, searchText](const auto &name, std::shared_ptr<EmojiData> &emoji) {
|
||||
if (emoji->shortCodes[0].contains(searchText, Qt::CaseInsensitive))
|
||||
{
|
||||
filteredEmojis.insert(name, emoji);
|
||||
emojiCount++;
|
||||
}
|
||||
});
|
||||
const auto &emojis = getIApp()->getEmotes()->getEmojis()->getEmojis();
|
||||
for (const auto &emoji : emojis)
|
||||
{
|
||||
if (emoji->shortCodes[0].contains(searchText, Qt::CaseInsensitive))
|
||||
{
|
||||
filteredEmojis.push_back(emoji);
|
||||
emojiCount++;
|
||||
}
|
||||
}
|
||||
// emojis
|
||||
if (emojiCount > 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user