Added support for Twitch's Chat Replies (#3722)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
This commit is contained in:
@@ -55,6 +55,11 @@ const Message *MessageLayout::getMessage()
|
||||
return this->message_.get();
|
||||
}
|
||||
|
||||
const MessagePtr &MessageLayout::getMessagePtr() const
|
||||
{
|
||||
return this->message_;
|
||||
}
|
||||
|
||||
// Height
|
||||
int MessageLayout::getHeight() const
|
||||
{
|
||||
@@ -147,6 +152,12 @@ void MessageLayout::actuallyLayout(int width, MessageElementFlags flags)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!this->renderReplies_ &&
|
||||
element->getFlags().has(MessageElementFlag::RepliedMessage))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
element->addToContainer(*this->container_, flags);
|
||||
}
|
||||
|
||||
@@ -414,4 +425,26 @@ void MessageLayout::addSelectionText(QString &str, int from, int to,
|
||||
this->container_->addSelectionText(str, from, to, copymode);
|
||||
}
|
||||
|
||||
bool MessageLayout::isReplyable() const
|
||||
{
|
||||
if (this->message_->loginName.isEmpty())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this->message_->flags.hasAny(
|
||||
{MessageFlag::System, MessageFlag::Subscription,
|
||||
MessageFlag::Timeout, MessageFlag::Whisper}))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void MessageLayout::setRenderReplies(bool render)
|
||||
{
|
||||
this->renderReplies_ = render;
|
||||
}
|
||||
|
||||
} // namespace chatterino
|
||||
|
||||
Reference in New Issue
Block a user