Merge branch 'master' into apa-notification-on-live

This commit is contained in:
pajlada
2018-09-16 17:43:53 +02:00
committed by GitHub
53 changed files with 628 additions and 227 deletions
+3 -3
View File
@@ -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);
}
+7 -6
View File
@@ -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()}});
+43 -23
View File
@@ -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)