Make more use of single pattern

This commit is contained in:
Rasmus Karlsson
2017-12-17 02:18:13 +01:00
parent d5f1c6acec
commit 70cbb9df7f
35 changed files with 146 additions and 249 deletions
+8 -6
View File
@@ -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);
}
+2 -3
View File
@@ -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;
+8 -12
View File
@@ -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)) {
+2 -5
View File
@@ -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);