#pragma once #include class QTextEdit; class QPushButton; class EmojiPanel; class InputBar : public QWidget { Q_OBJECT public: explicit InputBar(EmojiPanel *emojiPanel, QWidget *parent = nullptr); signals: void sendMessage(const QString &text); protected: bool eventFilter(QObject *obj, QEvent *event) override; private slots: void onSendClicked(); void adjustInputHeight(); private: QTextEdit *m_input; QPushButton *m_emojiBtn; EmojiPanel *m_emojiPanel; };