mirror-chatterino2/src/singletons/Emotes.hpp

42 lines
724 B
C++
Raw Normal View History

#pragma once
2017-04-12 17:46:44 +02:00
2018-07-07 11:41:01 +02:00
#include "common/Singleton.hpp"
2018-06-26 14:09:39 +02:00
#include "providers/emoji/Emojis.hpp"
#include "providers/twitch/TwitchEmotes.hpp"
#include "singletons/helper/GifTimer.hpp"
2017-04-12 17:46:44 +02:00
2017-04-14 17:52:22 +02:00
namespace chatterino {
2018-08-02 14:23:27 +02:00
class Settings;
class Paths;
2022-11-05 11:04:35 +01:00
class IEmotes
{
public:
virtual ~IEmotes() = default;
virtual ITwitchEmotes *getTwitchEmotes() = 0;
};
class Emotes final : public IEmotes, public Singleton
2017-04-12 17:46:44 +02:00
{
public:
2018-08-02 14:23:27 +02:00
Emotes();
virtual void initialize(Settings &settings, Paths &paths) override;
2018-06-05 19:00:25 +02:00
bool isIgnoredEmote(const QString &emote);
2022-11-05 11:04:35 +01:00
ITwitchEmotes *getTwitchEmotes() final
{
return &this->twitch;
}
2018-06-26 17:06:17 +02:00
TwitchEmotes twitch;
Emojis emojis;
GIFTimer gifTimer;
2017-04-12 17:46:44 +02:00
};
2017-05-27 16:16:39 +02:00
2017-04-14 17:52:22 +02:00
} // namespace chatterino