From ddfce136ed4de5b80ae5961b6a11363624e0b244 Mon Sep 17 00:00:00 2001 From: christarazi Date: Tue, 9 Jan 2018 23:52:59 -0800 Subject: Add support for pasting images into a room (#180) fixes #132 --- include/TextInputWidget.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'include/TextInputWidget.h') 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 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 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 data, const QString &filename); + void uploadFile(QSharedPointer data, const QString &filename); + void uploadAudio(QSharedPointer data, const QString &filename); void sendJoinRoomRequest(const QString &room); -- cgit 1.5.1