diff options
author | Konstantinos Sideris <sideris.konstantin@gmail.com> | 2017-09-03 11:43:45 +0300 |
---|---|---|
committer | Konstantinos Sideris <sideris.konstantin@gmail.com> | 2017-09-03 11:43:45 +0300 |
commit | b5ae84c3c3ee6ff42bb4ae4fd3a54e858160a1b1 (patch) | |
tree | d463295478ac0473383f22343bac251def46d6fe /include/TextInputWidget.h | |
parent | a44a4f36af67c016e207b1cbd63817c6751ed89d (diff) |
Add write support for m.emote events
closes #41
Diffstat (limited to 'include/TextInputWidget.h')
-rw-r--r-- | include/TextInputWidget.h | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/include/TextInputWidget.h b/include/TextInputWidget.h index 690a899b..73c2a603 100644 --- a/include/TextInputWidget.h +++ b/include/TextInputWidget.h @@ -25,49 +25,51 @@ #include "EmojiPickButton.h" #include "FlatButton.h" +static const QString EMOTE_COMMAND("/me "); + class FilteredTextEdit : public QTextEdit { - Q_OBJECT + Q_OBJECT public: - explicit FilteredTextEdit(QWidget *parent = nullptr); - void keyPressEvent(QKeyEvent *event); + explicit FilteredTextEdit(QWidget *parent = nullptr); + void keyPressEvent(QKeyEvent *event); signals: - void enterPressed(); + void enterPressed(); }; -class TextInputWidget : public QWidget +class TextInputWidget : public QFrame { - Q_OBJECT + Q_OBJECT public: - TextInputWidget(QWidget *parent = 0); - ~TextInputWidget(); + TextInputWidget(QWidget *parent = 0); + ~TextInputWidget(); public slots: - void onSendButtonClicked(); - inline void focusLineEdit(); + void onSendButtonClicked(); + inline void focusLineEdit(); private slots: - void addSelectedEmoji(const QString &emoji); + void addSelectedEmoji(const QString &emoji); signals: - void sendTextMessage(QString msg); - -protected: - void paintEvent(QPaintEvent *event) override; + void sendTextMessage(QString msg); + void sendEmoteMessage(QString msg); private: - QHBoxLayout *top_layout_; - FilteredTextEdit *input_; + QString parseEmoteCommand(const QString &cmd); + + QHBoxLayout *top_layout_; + FilteredTextEdit *input_; - FlatButton *send_file_button_; - FlatButton *send_message_button_; - EmojiPickButton *emoji_button_; + FlatButton *send_file_button_; + FlatButton *send_message_button_; + EmojiPickButton *emoji_button_; }; inline void TextInputWidget::focusLineEdit() { - input_->setFocus(); + input_->setFocus(); } |