1 #pragma once
2 
3 #include "widgets/BasePopup.hpp"
4 
5 #include <pajlada/signals/signal.hpp>
6 
7 namespace chatterino {
8 
9 struct Link;
10 class ChannelView;
11 class Channel;
12 using ChannelPtr = std::shared_ptr<Channel>;
13 
14 class EmotePopup : public BasePopup
15 {
16 public:
17     EmotePopup(QWidget *parent = nullptr);
18 
19     void loadChannel(ChannelPtr channel);
20     void loadEmojis();
21 
22     virtual void closeEvent(QCloseEvent *event) override;
23 
24     pajlada::Signals::Signal<Link> linkClicked;
25 
26 private:
27     ChannelView *globalEmotesView_{};
28     ChannelView *channelEmotesView_{};
29     ChannelView *subEmotesView_{};
30     ChannelView *viewEmojis_{};
31 };
32 
33 }  // namespace chatterino
34