#ifndef CHATWIDGETHEADER_H #define CHATWIDGETHEADER_H #include "signallabel.h" #include "widgets/chatwidgetheaderbutton.h" #include #include #include #include #include #include #include #include namespace chatterino { namespace widgets { class ChatWidget; class ChatWidgetHeader : public QWidget { Q_OBJECT public: explicit ChatWidgetHeader(ChatWidget *parent); ChatWidget *getChatWidget() const { return _chatWidget; } void updateColors(); void updateChannelText(); protected: void paintEvent(QPaintEvent *); void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); private: ChatWidget * const _chatWidget; QPoint _dragStart; bool _dragging; QHBoxLayout _hbox; ChatWidgetHeaderButton _leftLabel; SignalLabel _middleLabel; ChatWidgetHeaderButton _rightLabel; QMenu _leftMenu; QMenu _rightMenu; void leftButtonClicked(); void rightButtonClicked(); private slots: void menuAddSplit(); void menuCloseSplit(); void menuMoveSplit(); void menuPopup(); void menuChangeChannel(); void menuClearChat(); void menuOpenChannel(); void menuPopupPlayer(); void menuReloadChannelEmotes(); void menuManualReconnect(); void menuShowChangelog(); }; } } #endif // CHATWIDGETHEADER_H