#pragma once #include "widgets/signallabel.hpp" #include #include #include #include namespace chatterino { namespace widgets { class ChatWidgetHeaderButton : public QWidget { Q_OBJECT public: explicit ChatWidgetHeaderButton(int spacing = 6); SignalLabel &getLabel() { return _label; } signals: void clicked(); protected: void paintEvent(QPaintEvent *) Q_DECL_OVERRIDE; void enterEvent(QEvent *) Q_DECL_OVERRIDE; void leaveEvent(QEvent *) Q_DECL_OVERRIDE; void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE; private: QHBoxLayout _hbox; SignalLabel _label; bool _mouseOver; bool _mouseDown; void labelMouseUp(); void labelMouseDown(); }; } // namespace widgets } // namespace chatterino