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