summary refs log tree commit diff
path: root/include/TextInputWidget.h
diff options
context:
space:
mode:
authorchristarazi <christarazi@users.noreply.github.com>2018-01-09 23:52:59 -0800
committermujx <mujx@users.noreply.github.com>2018-01-10 09:52:59 +0200
commitddfce136ed4de5b80ae5961b6a11363624e0b244 (patch)
treeb3d54b98832f1043d36fe652099625e0579c058e /include/TextInputWidget.h
parentMake group's sidebar visible through an option (diff)
downloadnheko-ddfce136ed4de5b80ae5961b6a11363624e0b244.tar.xz
Add support for pasting images into a room (#180)
fixes #132 
Diffstat (limited to 'include/TextInputWidget.h')
-rw-r--r--include/TextInputWidget.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/include/TextInputWidget.h b/include/TextInputWidget.h

index df309e27..cc01be69 100644 --- a/include/TextInputWidget.h +++ b/include/TextInputWidget.h
@@ -27,8 +27,14 @@ #include "FlatButton.h" #include "LoadingIndicator.h" +#include "dialogs/PreviewImageOverlay.h" + #include "emoji/PickButton.h" +namespace dialogs { +class PreviewImageOverlay; +} + class FilteredTextEdit : public QTextEdit { Q_OBJECT @@ -48,16 +54,22 @@ signals: void stoppedTyping(); void message(QString); void command(QString name, QString args); + void image(const QSharedPointer<QIODevice> iodev, const QString &img_name); protected: void keyPressEvent(QKeyEvent *event) override; + bool canInsertFromMimeData(const QMimeData *source) const override; + void insertFromMimeData(const QMimeData *source) override; private: std::deque<QString> true_history_, working_history_; size_t history_index_; QTimer *typingTimer_; + dialogs::PreviewImageOverlay previewDialog_; + void textChanged(); + void receiveImage(const QByteArray img, const QString &img_name); void afterCompletion(int); }; @@ -83,9 +95,9 @@ signals: void sendTextMessage(QString msg); void sendEmoteMessage(QString msg); - void uploadImage(QString filename); - void uploadFile(QString filename); - void uploadAudio(QString filename); + void uploadImage(QSharedPointer<QIODevice> data, const QString &filename); + void uploadFile(QSharedPointer<QIODevice> data, const QString &filename); + void uploadAudio(QSharedPointer<QIODevice> data, const QString &filename); void sendJoinRoomRequest(const QString &room);