#pragma once #include "widgets/listview/GenericListItem.hpp" #include #include namespace chatterino { struct Emote; using EmotePtr = std::shared_ptr; class InputCompletionItem : public GenericListItem { using ActionCallback = std::function; public: InputCompletionItem(const EmotePtr &emote, const QString &text, ActionCallback action); // GenericListItem interface void action() override; void paint(QPainter *painter, const QRect &rect) const override; QSize sizeHint(const QRect &rect) const override; private: EmotePtr emote_; QString text_; ActionCallback action_; }; } // namespace chatterino