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:
pajlada
2026-01-04 12:52:02 +01:00
committed by GitHub
parent 7fed720d18
commit 18e3d7c72b
190 changed files with 1058 additions and 1049 deletions
+4 -4
View File
@@ -95,8 +95,8 @@ ContextMap buildContextMap(const MessagePtr &m, chatterino::Channel *channel)
using MessageFlag = chatterino::MessageFlag;
QStringList badges;
badges.reserve(m->badges.size());
for (const auto &e : m->badges)
badges.reserve(m->twitchBadges.size());
for (const auto &e : m->twitchBadges)
{
badges << e.key_;
}
@@ -114,9 +114,9 @@ ContextMap buildContextMap(const MessagePtr &m, chatterino::Channel *channel)
continue;
}
subscribed = true;
if (m->badgeInfos.find(subBadge) != m->badgeInfos.end())
if (m->twitchBadgeInfos.find(subBadge) != m->twitchBadgeInfos.end())
{
subLength = m->badgeInfos.at(subBadge).toInt();
subLength = m->twitchBadgeInfos.at(subBadge).toInt();
}
}
ContextMap vars = {
@@ -73,7 +73,7 @@ bool HighlightBadge::hasSound() const
return this->hasSound_;
}
bool HighlightBadge::isMatch(const Badge &badge) const
bool HighlightBadge::isMatch(const TwitchBadge &badge) const
{
if (this->isMulti_)
{
@@ -92,7 +92,7 @@ bool HighlightBadge::isMatch(const Badge &badge) const
}
}
bool HighlightBadge::compare(const QString &id, const Badge &badge) const
bool HighlightBadge::compare(const QString &id, const TwitchBadge &badge) const
{
if (this->hasVersions_)
{
@@ -12,7 +12,7 @@
namespace chatterino {
class Badge;
class TwitchBadge;
class HighlightBadge
{
@@ -32,7 +32,7 @@ public:
bool showInMentions() const;
bool hasAlert() const;
bool hasSound() const;
bool isMatch(const Badge &badge) const;
bool isMatch(const TwitchBadge &badge) const;
/**
* @brief Check if this highlight phrase has a custom sound set.
@@ -55,7 +55,7 @@ public:
static QColor FALLBACK_HIGHLIGHT_COLOR;
private:
bool compare(const QString &id, const Badge &badge) const;
bool compare(const QString &id, const TwitchBadge &badge) const;
QString badgeName_;
QString displayName_;
@@ -13,16 +13,17 @@ namespace chatterino {
struct HighlightResult;
struct MessageParseArgs;
class Badge;
class TwitchBadge;
enum class MessageFlag : std::int64_t;
using MessageFlags = FlagsEnum<MessageFlag>;
struct HighlightCheck {
using Checker = std::function<std::optional<HighlightResult>(
const MessageParseArgs &args, const std::vector<Badge> &badges,
const QString &senderName, const QString &originalMessage,
const MessageFlags &messageFlags, bool self)>;
const MessageParseArgs &args,
const std::vector<TwitchBadge> &twitchBadges, const QString &senderName,
const QString &originalMessage, const MessageFlags &messageFlags,
bool self)>;
Checker cb;
};
@@ -21,14 +21,14 @@ using namespace chatterino;
auto highlightPhraseCheck(const HighlightPhrase &highlight) -> HighlightCheck
{
return HighlightCheck{
[highlight](const auto &args, const auto &badges,
[highlight](const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> {
(void)args; // unused
(void)badges; // unused
(void)senderName; // unused
(void)flags; // unused
(void)args; // unused
(void)twitchBadges; // unused
(void)senderName; // unused
(void)flags; // unused
if (self)
{
@@ -72,10 +72,11 @@ void rebuildSubscriptionHighlights(Settings &settings,
// The custom sub highlight color is handled in ColorProvider
checks.emplace_back(HighlightCheck{
[=](const auto &args, const auto &badges, const auto &senderName,
const auto &originalMessage, const auto &flags,
[=](const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> {
(void)badges; // unused
(void)twitchBadges; // unused
(void)senderName; // unused
(void)originalMessage; // unused
(void)flags; // unused
@@ -118,10 +119,11 @@ void rebuildWhisperHighlights(Settings &settings,
// The custom whisper highlight color is handled in ColorProvider
checks.emplace_back(HighlightCheck{
[=](const auto &args, const auto &badges, const auto &senderName,
const auto &originalMessage, const auto &flags,
[=](const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> {
(void)badges; // unused
(void)twitchBadges; // unused
(void)senderName; // unused
(void)originalMessage; // unused
(void)flags; // unused
@@ -160,7 +162,7 @@ void rebuildReplyThreadHighlight(Settings &settings,
auto highlightInMentions =
settings.showThreadHighlightInMentions.getValue();
checks.emplace_back(HighlightCheck{
[=](const auto & /*args*/, const auto & /*badges*/,
[=](const auto & /*args*/, const auto & /*twitchBadges*/,
const auto & /*senderName*/, const auto & /*originalMessage*/,
const auto &flags,
const auto self) -> std::optional<HighlightResult> {
@@ -218,7 +220,7 @@ void rebuildMessageHighlights(Settings &settings,
ColorProvider::instance().color(ColorType::AutomodHighlight);
checks.emplace_back(HighlightCheck{
[=](const auto & /*args*/, const auto & /*badges*/,
[=](const auto & /*args*/, const auto & /*twitchBadges*/,
const auto & /*senderName*/, const auto & /*originalMessage*/,
const auto &flags,
const auto /*self*/) -> std::optional<HighlightResult> {
@@ -255,11 +257,12 @@ void rebuildUserHighlights(Settings &settings,
checks.emplace_back(HighlightCheck{
[showInMentions](
const auto &args, const auto &badges, const auto &senderName,
const auto &originalMessage, const auto &flags,
const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> {
(void)args; //unused
(void)badges; //unused
(void)twitchBadges; //unused
(void)senderName; //unused
(void)flags; //unused
(void)originalMessage; //unused
@@ -281,12 +284,12 @@ void rebuildUserHighlights(Settings &settings,
for (const auto &highlight : *userHighlights)
{
checks.emplace_back(HighlightCheck{
[highlight](const auto &args, const auto &badges,
[highlight](const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> {
(void)args; // unused
(void)badges; // unused
(void)twitchBadges; // unused
(void)originalMessage; // unused
(void)flags; // unused
(void)self; // unused
@@ -321,7 +324,7 @@ void rebuildBadgeHighlights(Settings &settings,
for (const auto &highlight : *badgeHighlights)
{
checks.emplace_back(HighlightCheck{
[highlight](const auto &args, const auto &badges,
[highlight](const auto &args, const auto &twitchBadges,
const auto &senderName, const auto &originalMessage,
const auto &flags,
const auto self) -> std::optional<HighlightResult> {
@@ -331,7 +334,7 @@ void rebuildBadgeHighlights(Settings &settings,
(void)flags; // unused
(void)self; // unused
for (const Badge &badge : badges)
for (const TwitchBadge &badge : twitchBadges)
{
if (highlight.isMatch(badge))
{
@@ -460,7 +463,7 @@ void HighlightController::rebuildChecks(Settings &settings)
}
std::pair<bool, HighlightResult> HighlightController::check(
const MessageParseArgs &args, const std::vector<Badge> &badges,
const MessageParseArgs &args, const std::vector<TwitchBadge> &twitchBadges,
const QString &senderName, const QString &originalMessage,
const MessageFlags &messageFlags) const
{
@@ -475,7 +478,7 @@ std::pair<bool, HighlightResult> HighlightController::check(
for (const auto &check : *checks)
{
if (auto checkResult = check.cb(args, badges, senderName,
if (auto checkResult = check.cb(args, twitchBadges, senderName,
originalMessage, messageFlags, self);
checkResult)
{
@@ -8,18 +8,17 @@
#include <boost/signals2/connection.hpp>
#include <pajlada/settings.hpp>
#include <pajlada/settings/settinglistener.hpp>
#include <pajlada/signals/signalholder.hpp>
#include <QColor>
#include <QUrl>
#include <cstdint>
#include <functional>
#include <memory>
#include <optional>
#include <utility>
#include <vector>
namespace chatterino {
class Badge;
class TwitchBadge;
struct MessageParseArgs;
class AccountController;
enum class MessageFlag : std::int64_t;
@@ -34,9 +33,9 @@ public:
* @brief Checks the given message parameters if it matches our internal checks, and returns a result
**/
[[nodiscard]] std::pair<bool, HighlightResult> check(
const MessageParseArgs &args, const std::vector<Badge> &badges,
const QString &senderName, const QString &originalMessage,
const MessageFlags &messageFlags) const;
const MessageParseArgs &args,
const std::vector<TwitchBadge> &twitchBadges, const QString &senderName,
const QString &originalMessage, const MessageFlags &messageFlags) const;
private:
/**