Merge branch 'master' into apa-notification-on-live
This commit is contained in:
@@ -66,8 +66,8 @@ void IrcMessageHandler::addMessage(Communi::IrcMessage *_message,
|
||||
builder->flags.unset(MessageFlag::Highlighted);
|
||||
}
|
||||
|
||||
auto highlighted = builder->flags.has(MessageFlag::Highlighted);
|
||||
auto msg = builder.build();
|
||||
auto highlighted = msg->flags.has(MessageFlag::Highlighted);
|
||||
|
||||
if (!isSub) {
|
||||
if (highlighted) {
|
||||
@@ -221,10 +221,10 @@ void IrcMessageHandler::handleWhisperMessage(Communi::IrcMessage *message)
|
||||
false);
|
||||
|
||||
if (!builder.isIgnored()) {
|
||||
app->twitch.server->lastUserThatWhisperedMe.set(builder.userName);
|
||||
|
||||
MessagePtr _message = builder.build();
|
||||
|
||||
app->twitch.server->lastUserThatWhisperedMe.set(builder.userName);
|
||||
|
||||
if (_message->flags.has(MessageFlag::Highlighted)) {
|
||||
app->twitch.server->mentionsChannel->addMessage(_message);
|
||||
}
|
||||
|
||||
@@ -633,12 +633,13 @@ void TwitchChannel::refreshBadges()
|
||||
auto jsonVersion = jsonVersion_->toObject();
|
||||
auto emote = std::make_shared<Emote>(Emote{
|
||||
EmoteName{},
|
||||
ImageSet{Image::fromUrl(
|
||||
{jsonVersion["image_url_1x"].toString()}),
|
||||
Image::fromUrl(
|
||||
{jsonVersion["image_url_2x"].toString()}),
|
||||
Image::fromUrl(
|
||||
{jsonVersion["image_url_4x"].toString()})},
|
||||
ImageSet{
|
||||
Image::fromUrl({jsonVersion["image_url_1x"].toString()},
|
||||
1),
|
||||
Image::fromUrl({jsonVersion["image_url_2x"].toString()},
|
||||
.5),
|
||||
Image::fromUrl({jsonVersion["image_url_4x"].toString()},
|
||||
.25)},
|
||||
Tooltip{jsonRoot["description"].toString()},
|
||||
Url{jsonVersion["clickURL"].toString()}});
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "controllers/ignores/IgnoreController.hpp"
|
||||
#include "debug/Log.hpp"
|
||||
#include "messages/Message.hpp"
|
||||
#include "providers/LinkResolver.hpp"
|
||||
#include "providers/chatterino/ChatterinoBadges.hpp"
|
||||
#include "providers/twitch/TwitchBadges.hpp"
|
||||
#include "providers/twitch/TwitchChannel.hpp"
|
||||
#include "singletons/Emotes.hpp"
|
||||
@@ -268,12 +270,29 @@ void TwitchMessageBuilder::addTextOrEmoji(const QString &string_)
|
||||
link = Link(Link::Url, linkString);
|
||||
|
||||
textColor = MessageColor(MessageColor::Link);
|
||||
this->emplace<TextElement>(lowercaseLinkString,
|
||||
MessageElementFlag::LowercaseLink, textColor)
|
||||
->setLink(link);
|
||||
this->emplace<TextElement>(string, MessageElementFlag::OriginalLink,
|
||||
textColor)
|
||||
->setLink(link);
|
||||
auto linkMELowercase =
|
||||
this->emplace<TextElement>(lowercaseLinkString,
|
||||
MessageElementFlag::LowercaseLink,
|
||||
textColor)
|
||||
->setLink(link);
|
||||
auto linkMEOriginal =
|
||||
this->emplace<TextElement>(string, MessageElementFlag::OriginalLink,
|
||||
textColor)
|
||||
->setLink(link);
|
||||
|
||||
LinkResolver::getLinkInfo(
|
||||
linkString, [linkMELowercase, linkMEOriginal, linkString]
|
||||
(QString tooltipText, Link originalLink) {
|
||||
if (!tooltipText.isEmpty()) {
|
||||
linkMELowercase->setTooltip(tooltipText);
|
||||
linkMEOriginal->setTooltip(tooltipText);
|
||||
}
|
||||
if (originalLink.value != linkString &&
|
||||
!originalLink.value.isEmpty()) {
|
||||
linkMELowercase->setLink(originalLink)->updateLink();
|
||||
linkMEOriginal->setLink(originalLink)->updateLink();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// if (!linkString.isEmpty()) {
|
||||
@@ -507,10 +526,10 @@ void TwitchMessageBuilder::parseHighlights(bool isPastMsg)
|
||||
std::vector<HighlightPhrase> userHighlights =
|
||||
app->highlights->highlightedUsers.getVector();
|
||||
|
||||
if (getSettings()->enableHighlightsSelf && currentUsername.size() > 0) {
|
||||
if (getSettings()->enableSelfHighlight && currentUsername.size() > 0) {
|
||||
HighlightPhrase selfHighlight(
|
||||
currentUsername, getSettings()->enableHighlightTaskbar,
|
||||
getSettings()->enableHighlightSound, false);
|
||||
currentUsername, getSettings()->enableSelfHighlightTaskbar,
|
||||
getSettings()->enableSelfHighlightSound, false);
|
||||
activeHighlights.emplace_back(std::move(selfHighlight));
|
||||
}
|
||||
|
||||
@@ -564,6 +583,15 @@ void TwitchMessageBuilder::parseHighlights(bool isPastMsg)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this->args.isReceivedWhisper &&
|
||||
getSettings()->enableWhisperHighlight) {
|
||||
if (getSettings()->enableWhisperHighlightTaskbar) {
|
||||
doAlert = true;
|
||||
}
|
||||
if (getSettings()->enableWhisperHighlightSound) {
|
||||
playSound = true;
|
||||
}
|
||||
}
|
||||
|
||||
this->message().flags.set(MessageFlag::Highlighted, doHighlight);
|
||||
|
||||
@@ -769,20 +797,12 @@ void TwitchMessageBuilder::appendTwitchBadges()
|
||||
|
||||
void TwitchMessageBuilder::appendChatterinoBadges()
|
||||
{
|
||||
// auto app = getApp();
|
||||
|
||||
// auto &badges = app->resources->chatterinoBadges;
|
||||
// auto it = badges.find(this->userName.toStdString());
|
||||
|
||||
// if (it == badges.end()) {
|
||||
// return;
|
||||
// }
|
||||
|
||||
// const auto badge = it->second;
|
||||
|
||||
// this->emplace<ImageElement>(badge->image,
|
||||
// MessageElementFlag::BadgeChatterino)
|
||||
// ->setTooltip(QString::fromStdString(badge->tooltip));
|
||||
auto chatterinoBadgePtr =
|
||||
getApp()->chatterinoBadges->getBadge({this->userName});
|
||||
if (chatterinoBadgePtr) {
|
||||
this->emplace<EmoteElement>(*chatterinoBadgePtr,
|
||||
MessageElementFlag::BadgeChatterino);
|
||||
}
|
||||
}
|
||||
|
||||
Outcome TwitchMessageBuilder::tryParseCheermote(const QString &string)
|
||||
|
||||
Reference in New Issue
Block a user