refactored MessageBuilder
This commit is contained in:
@@ -63,24 +63,24 @@ void EmotePopup::loadChannel(ChannelPtr _channel)
|
||||
// TITLE
|
||||
MessageBuilder builder1;
|
||||
|
||||
builder1.append(new TextElement(title, MessageElement::Text));
|
||||
builder1.emplace<TextElement>(title, MessageElement::Text);
|
||||
|
||||
builder1.getMessage()->flags |= Message::Centered;
|
||||
emoteChannel->addMessage(builder1.getMessage());
|
||||
builder1->flags |= Message::Centered;
|
||||
emoteChannel->addMessage(builder1.release());
|
||||
|
||||
// EMOTES
|
||||
MessageBuilder builder2;
|
||||
builder2.getMessage()->flags |= Message::Centered;
|
||||
builder2.getMessage()->flags |= Message::DisableCompactEmotes;
|
||||
builder2->flags |= Message::Centered;
|
||||
builder2->flags |= Message::DisableCompactEmotes;
|
||||
|
||||
for (auto emote : map) {
|
||||
builder2.append(
|
||||
(new EmoteElement(emote.second,
|
||||
MessageElement::Flags::AlwaysShow))
|
||||
->setLink(Link(Link::InsertText, emote.first.string)));
|
||||
builder2
|
||||
.emplace<EmoteElement>(emote.second,
|
||||
MessageElement::Flags::AlwaysShow)
|
||||
->setLink(Link(Link::InsertText, emote.first.string));
|
||||
}
|
||||
|
||||
emoteChannel->addMessage(builder2.getMessage());
|
||||
emoteChannel->addMessage(builder2.release());
|
||||
};
|
||||
|
||||
auto app = getApp();
|
||||
@@ -103,25 +103,25 @@ void EmotePopup::loadChannel(ChannelPtr _channel)
|
||||
setText = set->text;
|
||||
}
|
||||
|
||||
builder1.append(new TextElement(setText, MessageElement::Text));
|
||||
builder1.emplace<TextElement>(setText, MessageElement::Text);
|
||||
|
||||
builder1.getMessage()->flags |= Message::Centered;
|
||||
emoteChannel->addMessage(builder1.getMessage());
|
||||
builder1->flags |= Message::Centered;
|
||||
emoteChannel->addMessage(builder1.release());
|
||||
|
||||
// EMOTES
|
||||
MessageBuilder builder2;
|
||||
builder2.getMessage()->flags |= Message::Centered;
|
||||
builder2.getMessage()->flags |= Message::DisableCompactEmotes;
|
||||
builder2->flags |= Message::Centered;
|
||||
builder2->flags |= Message::DisableCompactEmotes;
|
||||
|
||||
for (const auto &emote : set->emotes) {
|
||||
builder2.append(
|
||||
(new EmoteElement(
|
||||
app->emotes->twitch.getOrCreateEmote(emote.id, emote.name),
|
||||
MessageElement::Flags::AlwaysShow))
|
||||
->setLink(Link(Link::InsertText, emote.name.string)));
|
||||
builder2
|
||||
.emplace<EmoteElement>(
|
||||
app->emotes->twitch.getOrCreateEmote(emote.id, emote.name),
|
||||
MessageElement::Flags::AlwaysShow)
|
||||
->setLink(Link(Link::InsertText, emote.name.string));
|
||||
}
|
||||
|
||||
emoteChannel->addMessage(builder2.getMessage());
|
||||
emoteChannel->addMessage(builder2.release());
|
||||
}
|
||||
|
||||
addEmotes(*app->emotes->bttv.accessGlobalEmotes(),
|
||||
@@ -146,22 +146,23 @@ void EmotePopup::loadEmojis()
|
||||
// title
|
||||
MessageBuilder builder1;
|
||||
|
||||
builder1.append(new TextElement("emojis", MessageElement::Text));
|
||||
builder1.getMessage()->flags |= Message::Centered;
|
||||
emojiChannel->addMessage(builder1.getMessage());
|
||||
builder1.emplace<TextElement>("emojis", MessageElement::Text);
|
||||
builder1->flags |= Message::Centered;
|
||||
emojiChannel->addMessage(builder1.release());
|
||||
|
||||
// emojis
|
||||
MessageBuilder builder;
|
||||
builder.getMessage()->flags |= Message::Centered;
|
||||
builder.getMessage()->flags |= Message::DisableCompactEmotes;
|
||||
builder->flags |= Message::Centered;
|
||||
builder->flags |= Message::DisableCompactEmotes;
|
||||
|
||||
emojis.each([&builder](const auto &key, const auto &value) {
|
||||
builder.append(
|
||||
(new EmoteElement(value->emote, MessageElement::Flags::AlwaysShow))
|
||||
->setLink(Link(Link::Type::InsertText,
|
||||
":" + value->shortCodes[0] + ":")));
|
||||
builder
|
||||
.emplace<EmoteElement>(value->emote,
|
||||
MessageElement::Flags::AlwaysShow)
|
||||
->setLink(
|
||||
Link(Link::Type::InsertText, ":" + value->shortCodes[0] + ":"));
|
||||
});
|
||||
emojiChannel->addMessage(builder.getMessage());
|
||||
emojiChannel->addMessage(builder.release());
|
||||
|
||||
this->viewEmojis_->setChannel(emojiChannel);
|
||||
}
|
||||
|
||||
@@ -170,15 +170,15 @@ void LogsPopup::getOverrustleLogs()
|
||||
singleMessage.value("timestamp").toInt())
|
||||
.time();
|
||||
|
||||
MessagePtr message(new Message);
|
||||
message->addElement(new TimestampElement(timeStamp));
|
||||
message->addElement(new TextElement(this->userName_,
|
||||
MessageElement::Username,
|
||||
MessageColor::System));
|
||||
message->addElement(
|
||||
new TextElement(singleMessage.value("text").toString(),
|
||||
MessageElement::Text, MessageColor::Text));
|
||||
messages.push_back(message);
|
||||
MessageBuilder builder;
|
||||
builder.emplace<TimestampElement>(timeStamp);
|
||||
builder.emplace<TextElement>(this->userName_,
|
||||
MessageElement::Username,
|
||||
MessageColor::System);
|
||||
builder.emplace<TextElement>(
|
||||
singleMessage.value("text").toString(),
|
||||
MessageElement::Text, MessageColor::Text);
|
||||
messages.push_back(builder.release());
|
||||
}
|
||||
}
|
||||
this->setMessages(messages);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "LookPage.hpp"
|
||||
|
||||
#include "Application.hpp"
|
||||
#include "messages/MessageBuilder.hpp"
|
||||
#include "singletons/WindowManager.hpp"
|
||||
#include "util/LayoutCreator.hpp"
|
||||
#include "util/RemoveScrollAreaBackground.hpp"
|
||||
@@ -317,55 +318,31 @@ ChannelPtr LookPage::createPreviewChannel()
|
||||
{
|
||||
auto channel = ChannelPtr(new Channel("preview", Channel::Type::Misc));
|
||||
|
||||
// clang-format off
|
||||
{
|
||||
auto message = MessagePtr(new Message());
|
||||
message->addElement(new TimestampElement(QTime(8, 13, 42)));
|
||||
message->addElement(new ImageElement(
|
||||
Image::fromNonOwningPixmap(&getApp()->resources->twitch.moderator),
|
||||
MessageElement::BadgeChannelAuthority));
|
||||
message->addElement(new ImageElement(
|
||||
Image::fromNonOwningPixmap(&getApp()->resources->twitch.subscriber),
|
||||
MessageElement::BadgeSubscription));
|
||||
message->addElement(
|
||||
new TextElement("username1:", MessageElement::Username,
|
||||
QColor("#0094FF"), FontStyle::ChatMediumBold));
|
||||
message->addElement(
|
||||
new TextElement("This is a preview message", MessageElement::Text));
|
||||
message->addElement(new ImageElement(
|
||||
Image::fromNonOwningPixmap(&getApp()->resources->pajaDank),
|
||||
MessageElement::Flags::AlwaysShow));
|
||||
message->addElement(
|
||||
new TextElement("@fourtf", TextElement::BoldUsername,
|
||||
MessageColor::Text, FontStyle::ChatMediumBold));
|
||||
message->addElement(
|
||||
new TextElement("@fourtf", TextElement::NonBoldUsername));
|
||||
channel->addMessage(message);
|
||||
MessageBuilder builder;
|
||||
builder.emplace<TimestampElement>(QTime(8, 13, 42));
|
||||
builder.emplace<ImageElement>(Image::fromNonOwningPixmap(&getApp()->resources->twitch.moderator), MessageElement::BadgeChannelAuthority);
|
||||
builder.emplace<ImageElement>(Image::fromNonOwningPixmap(&getApp()->resources->twitch.subscriber), MessageElement::BadgeSubscription);
|
||||
builder.emplace<TextElement>("username1:", MessageElement::Username, QColor("#0094FF"), FontStyle::ChatMediumBold);
|
||||
builder.emplace<TextElement>("This is a preview message", MessageElement::Text);
|
||||
builder.emplace<ImageElement>(Image::fromNonOwningPixmap(&getApp()->resources->pajaDank), MessageElement::Flags::AlwaysShow);
|
||||
builder.emplace<TextElement>("@fourtf", TextElement::BoldUsername, MessageColor::Text, FontStyle::ChatMediumBold);
|
||||
builder.emplace<TextElement>("@fourtf", TextElement::NonBoldUsername);
|
||||
channel->addMessage(builder.release());
|
||||
}
|
||||
{
|
||||
auto message = MessagePtr(new Message());
|
||||
message->addElement(new TimestampElement(QTime(8, 15, 21)));
|
||||
message->addElement(
|
||||
new ImageElement(Image::fromNonOwningPixmap(
|
||||
&getApp()->resources->twitch.broadcaster),
|
||||
MessageElement::BadgeChannelAuthority));
|
||||
message->addElement(
|
||||
new TextElement("username2:", MessageElement::Username,
|
||||
QColor("#FF6A00"), FontStyle::ChatMediumBold));
|
||||
message->addElement(
|
||||
new TextElement("This is another one", MessageElement::Text));
|
||||
// message->addElement(new ImageElement(
|
||||
// Image::fromNonOwningPixmap(&getApp()->resources->ppHop),
|
||||
// MessageElement::BttvEmote));
|
||||
message->addElement(
|
||||
(new TextElement("www.fourtf.com", MessageElement::LowercaseLink,
|
||||
MessageColor::Link))
|
||||
->setLink(Link(Link::Url, "https://www.fourtf.com")));
|
||||
message->addElement(
|
||||
(new TextElement("wWw.FoUrTf.CoM", MessageElement::OriginalLink,
|
||||
MessageColor::Link))
|
||||
->setLink(Link(Link::Url, "https://www.fourtf.com")));
|
||||
channel->addMessage(message);
|
||||
MessageBuilder message;
|
||||
message.emplace<TimestampElement>(QTime(8, 15, 21));
|
||||
message.emplace<ImageElement>(Image::fromNonOwningPixmap(&getApp()->resources->twitch.broadcaster), MessageElement::BadgeChannelAuthority);
|
||||
message.emplace<TextElement>("username2:", MessageElement::Username, QColor("#FF6A00"), FontStyle::ChatMediumBold);
|
||||
message.emplace<TextElement>("This is another one", MessageElement::Text);
|
||||
// message.emplace<ImageElement>(Image::fromNonOwningPixmap(&getApp()->resources->ppHop), MessageElement::BttvEmote);
|
||||
message.emplace<TextElement>("www.fourtf.com", MessageElement::LowercaseLink, MessageColor::Link)->setLink(Link(Link::Url, "https://www.fourtf.com"));
|
||||
message.emplace<TextElement>("wWw.FoUrTf.CoM", MessageElement::OriginalLink, MessageColor::Link)->setLink(Link(Link::Url, "https://www.fourtf.com"));
|
||||
channel->addMessage(message.release());
|
||||
}
|
||||
// clang-format on
|
||||
|
||||
return channel;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user