refactor: rename Badge to TwitchBadge (#6706)
this change is made to clarify that the previously-called Badge object is actually specialized for Twitch badges
This commit is contained in:
@@ -118,19 +118,19 @@ QJsonObject Message::toJson() const
|
||||
{"frozen"_L1, this->frozen},
|
||||
};
|
||||
|
||||
QJsonArray badges;
|
||||
for (const auto &badge : this->badges)
|
||||
QJsonArray twitchBadges;
|
||||
for (const auto &badge : this->twitchBadges)
|
||||
{
|
||||
badges.append(badge.key_);
|
||||
twitchBadges.append(badge.key_);
|
||||
}
|
||||
msg["badges"_L1] = badges;
|
||||
msg["twitchBadges"_L1] = twitchBadges;
|
||||
|
||||
QJsonObject badgeInfos;
|
||||
for (const auto &[key, value] : this->badgeInfos)
|
||||
QJsonObject twitchBadgeInfos;
|
||||
for (const auto &[key, value] : this->twitchBadgeInfos)
|
||||
{
|
||||
badgeInfos.insert(key, value);
|
||||
twitchBadgeInfos.insert(key, value);
|
||||
}
|
||||
msg["badgeInfos"_L1] = badgeInfos;
|
||||
msg["twitchBadgeInfos"_L1] = twitchBadgeInfos;
|
||||
|
||||
if (this->highlightColor)
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@ class QJsonObject;
|
||||
namespace chatterino {
|
||||
class MessageElement;
|
||||
class MessageThread;
|
||||
class Badge;
|
||||
class TwitchBadge;
|
||||
class ScrollbarHighlight;
|
||||
|
||||
struct Message;
|
||||
@@ -54,8 +54,13 @@ struct Message {
|
||||
QString channelName;
|
||||
QColor usernameColor;
|
||||
QDateTime serverReceivedTime;
|
||||
std::vector<Badge> badges;
|
||||
std::unordered_map<QString, QString> badgeInfos;
|
||||
|
||||
/// List of Twitch badges associated with this message
|
||||
std::vector<TwitchBadge> twitchBadges;
|
||||
|
||||
/// Map of extra data associated with each Twitch badge
|
||||
std::unordered_map<QString, QString> twitchBadgeInfos;
|
||||
|
||||
std::shared_ptr<QColor> highlightColor;
|
||||
// Each reply holds a reference to the thread. When every reply is dropped,
|
||||
// the reply thread will be cleaned up by the TwitchChannel.
|
||||
|
||||
@@ -236,7 +236,7 @@ QString stylizeUsername(const QString &username, const Message &message)
|
||||
return usernameText;
|
||||
}
|
||||
|
||||
std::optional<EmotePtr> getTwitchBadge(const Badge &badge,
|
||||
std::optional<EmotePtr> getTwitchBadge(const TwitchBadge &badge,
|
||||
const TwitchChannel *twitchChannel)
|
||||
{
|
||||
if (auto channelBadge =
|
||||
@@ -254,7 +254,8 @@ std::optional<EmotePtr> getTwitchBadge(const Badge &badge,
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
void appendBadges(MessageBuilder *builder, const std::vector<Badge> &badges,
|
||||
void appendBadges(MessageBuilder *builder,
|
||||
const std::vector<TwitchBadge> &badges,
|
||||
const std::unordered_map<QString, QString> &badgeInfos,
|
||||
const TwitchChannel *twitchChannel)
|
||||
{
|
||||
@@ -344,15 +345,15 @@ void appendBadges(MessageBuilder *builder, const std::vector<Badge> &badges,
|
||||
->setTooltip(tooltip);
|
||||
}
|
||||
|
||||
builder->message().badges = badges;
|
||||
builder->message().badgeInfos = badgeInfos;
|
||||
builder->message().twitchBadges = badges;
|
||||
builder->message().twitchBadgeInfos = badgeInfos;
|
||||
}
|
||||
|
||||
std::vector<Badge> appendSharedChatBadges(
|
||||
MessageBuilder *builder, const std::vector<Badge> &sharedBadges,
|
||||
std::vector<TwitchBadge> appendSharedChatBadges(
|
||||
MessageBuilder *builder, const std::vector<TwitchBadge> &sharedBadges,
|
||||
const QString &sharedChannelName, const TwitchChannel *twitchChannel)
|
||||
{
|
||||
auto appendedBadges = std::vector<Badge>{};
|
||||
auto appendedBadges = std::vector<TwitchBadge>{};
|
||||
for (const auto &badge : sharedBadges)
|
||||
{
|
||||
if (badge.key_ != "moderator" && badge.key_ != "vip")
|
||||
|
||||
@@ -33,7 +33,7 @@ BadgePredicate::BadgePredicate(const QString &badges, bool negate)
|
||||
|
||||
bool BadgePredicate::appliesToImpl(const Message &message)
|
||||
{
|
||||
for (const Badge &badge : message.badges)
|
||||
for (const TwitchBadge &badge : message.twitchBadges)
|
||||
{
|
||||
if (this->badges_.contains(badge.key_, Qt::CaseInsensitive))
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@ SubtierPredicate::SubtierPredicate(const QString &subtiers, bool negate)
|
||||
|
||||
bool SubtierPredicate::appliesToImpl(const Message &message)
|
||||
{
|
||||
for (const Badge &badge : message.badges)
|
||||
for (const TwitchBadge &badge : message.twitchBadges)
|
||||
{
|
||||
if (badge.key_ == "subscriber")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user