Make more use of single pattern
This commit is contained in:
@@ -9,10 +9,8 @@
|
||||
namespace chatterino {
|
||||
namespace twitch {
|
||||
|
||||
TwitchChannel::TwitchChannel(EmoteManager &emoteManager, IrcManager &ircManager,
|
||||
const QString &channelName, bool _isSpecial)
|
||||
TwitchChannel::TwitchChannel(IrcManager &ircManager, const QString &channelName, bool _isSpecial)
|
||||
: Channel(channelName)
|
||||
, emoteManager(emoteManager)
|
||||
, ircManager(ircManager)
|
||||
, bttvChannelEmotes(new EmoteMap)
|
||||
, ffzChannelEmotes(new EmoteMap)
|
||||
@@ -63,18 +61,22 @@ void TwitchChannel::setRoomID(const QString &_roomID)
|
||||
|
||||
void TwitchChannel::reloadChannelEmotes()
|
||||
{
|
||||
auto &emoteManager = EmoteManager::getInstance();
|
||||
|
||||
debug::Log("[TwitchChannel:{}] Reloading channel emotes", this->name);
|
||||
|
||||
this->emoteManager.reloadBTTVChannelEmotes(this->name, this->bttvChannelEmotes);
|
||||
this->emoteManager.reloadFFZChannelEmotes(this->name, this->ffzChannelEmotes);
|
||||
emoteManager.reloadBTTVChannelEmotes(this->name, this->bttvChannelEmotes);
|
||||
emoteManager.reloadFFZChannelEmotes(this->name, this->ffzChannelEmotes);
|
||||
}
|
||||
|
||||
void TwitchChannel::sendMessage(const QString &message)
|
||||
{
|
||||
auto &emoteManager = EmoteManager::getInstance();
|
||||
|
||||
debug::Log("[TwitchChannel:{}] Send message: {}", this->name, message);
|
||||
|
||||
// Do last message processing
|
||||
QString parsedMessage = this->emoteManager.replaceShortCodes(message);
|
||||
QString parsedMessage = emoteManager.replaceShortCodes(message);
|
||||
|
||||
this->ircManager.sendMessage(this->name, parsedMessage);
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ class TwitchChannel : public Channel
|
||||
QTimer *liveStatusTimer;
|
||||
|
||||
public:
|
||||
explicit TwitchChannel(EmoteManager &emoteManager, IrcManager &ircManager,
|
||||
const QString &channelName, bool _isSpecial = false);
|
||||
explicit TwitchChannel(IrcManager &ircManager, const QString &channelName,
|
||||
bool _isSpecial = false);
|
||||
~TwitchChannel();
|
||||
|
||||
void reloadChannelEmotes();
|
||||
@@ -44,7 +44,6 @@ private:
|
||||
void setLive(bool newLiveStatus);
|
||||
void refreshLiveStatus();
|
||||
|
||||
EmoteManager &emoteManager;
|
||||
IrcManager &ircManager;
|
||||
|
||||
bool isSpecial;
|
||||
|
||||
@@ -17,7 +17,6 @@ namespace chatterino {
|
||||
namespace twitch {
|
||||
|
||||
TwitchMessageBuilder::TwitchMessageBuilder(TwitchChannel *_channel, Resources &_resources,
|
||||
EmoteManager &_emoteManager,
|
||||
WindowManager &_windowManager,
|
||||
const Communi::IrcPrivateMessage *_ircMessage,
|
||||
const messages::MessageParseArgs &_args)
|
||||
@@ -26,7 +25,6 @@ TwitchMessageBuilder::TwitchMessageBuilder(TwitchChannel *_channel, Resources &_
|
||||
, resources(_resources)
|
||||
, windowManager(_windowManager)
|
||||
, colorScheme(this->windowManager.colorScheme)
|
||||
, emoteManager(_emoteManager)
|
||||
, ircMessage(_ircMessage)
|
||||
, args(_args)
|
||||
, tags(this->ircMessage->tags())
|
||||
@@ -37,6 +35,7 @@ TwitchMessageBuilder::TwitchMessageBuilder(TwitchChannel *_channel, Resources &_
|
||||
SharedMessage TwitchMessageBuilder::parse()
|
||||
{
|
||||
SettingsManager &settings = SettingsManager::getInstance();
|
||||
EmoteManager &emoteManager = EmoteManager::getInstance();
|
||||
|
||||
this->originalMessage = this->ircMessage->content();
|
||||
|
||||
@@ -83,7 +82,7 @@ SharedMessage TwitchMessageBuilder::parse()
|
||||
QStringList emoteString = iterator.value().toString().split('/');
|
||||
|
||||
for (QString emote : emoteString) {
|
||||
this->appendTwitchEmote(ircMessage, emote, twitchEmotes, emoteManager);
|
||||
this->appendTwitchEmote(ircMessage, emote, twitchEmotes);
|
||||
}
|
||||
|
||||
struct {
|
||||
@@ -172,14 +171,10 @@ SharedMessage TwitchMessageBuilder::parse()
|
||||
|
||||
LazyLoadedImage *imageAnimated = emoteManager.miscImageCache.getOrAdd(
|
||||
bitsLinkAnimated, [this, &bitsLinkAnimated] {
|
||||
return new LazyLoadedImage(this->emoteManager, this->windowManager,
|
||||
bitsLinkAnimated);
|
||||
});
|
||||
LazyLoadedImage *image =
|
||||
emoteManager.miscImageCache.getOrAdd(bitsLink, [this, &bitsLink] {
|
||||
return new LazyLoadedImage(this->emoteManager, this->windowManager,
|
||||
bitsLink);
|
||||
return new LazyLoadedImage(bitsLinkAnimated);
|
||||
});
|
||||
LazyLoadedImage *image = emoteManager.miscImageCache.getOrAdd(
|
||||
bitsLink, [this, &bitsLink] { return new LazyLoadedImage(bitsLink); });
|
||||
|
||||
this->appendWord(Word(imageAnimated, Word::BitsAnimated, QString("cheer"),
|
||||
QString("Twitch Cheer"),
|
||||
@@ -464,9 +459,9 @@ void TwitchMessageBuilder::appendModerationButtons()
|
||||
|
||||
void TwitchMessageBuilder::appendTwitchEmote(const Communi::IrcPrivateMessage *ircMessage,
|
||||
const QString &emote,
|
||||
std::vector<std::pair<long int, EmoteData>> &vec,
|
||||
EmoteManager &emoteManager)
|
||||
std::vector<std::pair<long int, EmoteData>> &vec)
|
||||
{
|
||||
EmoteManager &emoteManager = EmoteManager::getInstance();
|
||||
if (!emote.contains(':')) {
|
||||
return;
|
||||
}
|
||||
@@ -504,6 +499,7 @@ void TwitchMessageBuilder::appendTwitchEmote(const Communi::IrcPrivateMessage *i
|
||||
|
||||
bool TwitchMessageBuilder::tryAppendEmote(QString &emoteString)
|
||||
{
|
||||
EmoteManager &emoteManager = EmoteManager::getInstance();
|
||||
EmoteData emoteData;
|
||||
|
||||
if (emoteManager.bttvGlobalEmotes.tryGet(emoteString, emoteData)) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#include "emotemanager.hpp"
|
||||
#include "messages/messagebuilder.hpp"
|
||||
#include "messages/messageparseargs.hpp"
|
||||
#include "resources.hpp"
|
||||
@@ -29,7 +28,7 @@ public:
|
||||
TwitchMessageBuilder() = delete;
|
||||
|
||||
explicit TwitchMessageBuilder(TwitchChannel *_channel, Resources &_resources,
|
||||
EmoteManager &_emoteManager, WindowManager &_windowManager,
|
||||
WindowManager &_windowManager,
|
||||
const Communi::IrcPrivateMessage *_ircMessage,
|
||||
const messages::MessageParseArgs &_args);
|
||||
|
||||
@@ -38,7 +37,6 @@ public:
|
||||
Resources &resources;
|
||||
WindowManager &windowManager;
|
||||
ColorScheme &colorScheme;
|
||||
EmoteManager &emoteManager;
|
||||
const Communi::IrcPrivateMessage *ircMessage;
|
||||
messages::MessageParseArgs args;
|
||||
const QVariantMap tags;
|
||||
@@ -66,8 +64,7 @@ private:
|
||||
|
||||
void appendModerationButtons();
|
||||
void appendTwitchEmote(const Communi::IrcPrivateMessage *ircMessage, const QString &emote,
|
||||
std::vector<std::pair<long, EmoteData>> &vec,
|
||||
EmoteManager &emoteManager);
|
||||
std::vector<std::pair<long, EmoteData>> &vec);
|
||||
bool tryAppendEmote(QString &emoteString);
|
||||
bool appendEmote(EmoteData &emoteData);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user