Fix bold/coloured usernames also formatting trailing punctuation (#2597)
This commit is contained in:
@@ -484,6 +484,7 @@ void TwitchMessageBuilder::addTextOrEmoji(const QString &string_)
|
||||
if (match.hasMatch())
|
||||
{
|
||||
QString username = match.captured(1);
|
||||
auto originalTextColor = textColor;
|
||||
|
||||
if (this->twitchChannel != nullptr && getSettings()->colorUsernames)
|
||||
{
|
||||
@@ -495,13 +496,23 @@ void TwitchMessageBuilder::addTextOrEmoji(const QString &string_)
|
||||
}
|
||||
}
|
||||
|
||||
this->emplace<TextElement>(string, MessageElementFlag::BoldUsername,
|
||||
auto prefixedUsername = '@' + username;
|
||||
this->emplace<TextElement>(prefixedUsername,
|
||||
MessageElementFlag::BoldUsername,
|
||||
textColor, FontStyle::ChatMediumBold)
|
||||
->setLink({Link::UserInfo, username});
|
||||
->setLink({Link::UserInfo, username})
|
||||
->setTrailingSpace(false);
|
||||
|
||||
this->emplace<TextElement>(prefixedUsername,
|
||||
MessageElementFlag::NonBoldUsername,
|
||||
textColor)
|
||||
->setLink({Link::UserInfo, username})
|
||||
->setTrailingSpace(false);
|
||||
|
||||
this->emplace<TextElement>(string.remove(prefixedUsername),
|
||||
MessageElementFlag::Text,
|
||||
originalTextColor);
|
||||
|
||||
this->emplace<TextElement>(
|
||||
string, MessageElementFlag::NonBoldUsername, textColor)
|
||||
->setLink({Link::UserInfo, username});
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -514,6 +525,8 @@ void TwitchMessageBuilder::addTextOrEmoji(const QString &string_)
|
||||
|
||||
if (match.hasMatch() && chatters->contains(username))
|
||||
{
|
||||
auto originalTextColor = textColor;
|
||||
|
||||
if (getSettings()->colorUsernames)
|
||||
{
|
||||
if (auto userColor =
|
||||
@@ -524,13 +537,21 @@ void TwitchMessageBuilder::addTextOrEmoji(const QString &string_)
|
||||
}
|
||||
}
|
||||
|
||||
this->emplace<TextElement>(string, MessageElementFlag::BoldUsername,
|
||||
this->emplace<TextElement>(username,
|
||||
MessageElementFlag::BoldUsername,
|
||||
textColor, FontStyle::ChatMediumBold)
|
||||
->setLink({Link::UserInfo, username});
|
||||
->setLink({Link::UserInfo, username})
|
||||
->setTrailingSpace(false);
|
||||
|
||||
this->emplace<TextElement>(
|
||||
string, MessageElementFlag::NonBoldUsername, textColor)
|
||||
->setLink({Link::UserInfo, username});
|
||||
username, MessageElementFlag::NonBoldUsername, textColor)
|
||||
->setLink({Link::UserInfo, username})
|
||||
->setTrailingSpace(false);
|
||||
|
||||
this->emplace<TextElement>(string.remove(username),
|
||||
MessageElementFlag::Text,
|
||||
originalTextColor);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user