From 5573548fb1adbaef6ef8e30fd76855b90c0fe26c Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Fri, 1 Dec 2017 17:33:49 +0200 Subject: Allow audio clip uploads --- include/MatrixClient.h | 6 ++++++ include/TextInputWidget.h | 3 +++ include/events/MessageEvent.h | 2 +- include/events/messages/Audio.h | 2 +- include/events/messages/File.h | 2 +- include/events/messages/Image.h | 2 +- include/events/messages/Video.h | 2 +- include/timeline/TimelineViewManager.h | 1 + 8 files changed, 15 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/MatrixClient.h b/include/MatrixClient.h index b0f6993d..722a8611 100644 --- a/include/MatrixClient.h +++ b/include/MatrixClient.h @@ -17,6 +17,7 @@ #pragma once +#include #include #include @@ -43,6 +44,7 @@ public: int txnId, const QString &roomid, const QString &msg, + const QFileInfo &info, const QString &url = "") noexcept; void login(const QString &username, const QString &password) noexcept; void registerUser(const QString &username, @@ -57,6 +59,7 @@ public: void messages(const QString &room_id, const QString &from_token, int limit = 30) noexcept; void uploadImage(const QString &roomid, const QString &filename); void uploadFile(const QString &roomid, const QString &filename); + void uploadAudio(const QString &roomid, const QString &filename); void joinRoom(const QString &roomIdOrAlias); void leaveRoom(const QString &roomId); void sendTypingNotification(const QString &roomid, int timeoutInMillis = 20000); @@ -94,6 +97,7 @@ signals: void versionSuccess(); void imageUploaded(const QString &roomid, const QString &filename, const QString &url); void fileUploaded(const QString &roomid, const QString &filename, const QString &url); + void audioUploaded(const QString &roomid, const QString &filename, const QString &url); void roomAvatarRetrieved(const QString &roomid, const QPixmap &img); void userAvatarRetrieved(const QString &userId, const QImage &img); @@ -116,6 +120,8 @@ signals: void leftRoom(const QString &room_id); private: + QNetworkReply *makeUploadRequest(const QString &filename); + // Client API prefix. QString clientApiUrl_; diff --git a/include/TextInputWidget.h b/include/TextInputWidget.h index 3c338fe3..b208d3f4 100644 --- a/include/TextInputWidget.h +++ b/include/TextInputWidget.h @@ -85,8 +85,11 @@ private slots: signals: void sendTextMessage(QString msg); void sendEmoteMessage(QString msg); + void uploadImage(QString filename); void uploadFile(QString filename); + void uploadAudio(QString filename); + void sendJoinRoomRequest(const QString &room); void startedTyping(); diff --git a/include/events/MessageEvent.h b/include/events/MessageEvent.h index 3c4f83e9..08cd926f 100644 --- a/include/events/MessageEvent.h +++ b/include/events/MessageEvent.h @@ -55,7 +55,7 @@ struct ThumbnailInfo { int h; int w; - int size; + int size = 0; QString mimetype; }; diff --git a/include/events/messages/Audio.h b/include/events/messages/Audio.h index 8466e0e4..b5666d90 100644 --- a/include/events/messages/Audio.h +++ b/include/events/messages/Audio.h @@ -27,7 +27,7 @@ namespace messages { struct AudioInfo { uint64_t duration; - int size; + int size = 0; QString mimetype; }; diff --git a/include/events/messages/File.h b/include/events/messages/File.h index 2fb2aa83..9064a556 100644 --- a/include/events/messages/File.h +++ b/include/events/messages/File.h @@ -27,7 +27,7 @@ namespace events { namespace messages { struct FileInfo { - int size; + int size = 0; QString mimetype; QString thumbnail_url; diff --git a/include/events/messages/Image.h b/include/events/messages/Image.h index 1e709579..03c7a368 100644 --- a/include/events/messages/Image.h +++ b/include/events/messages/Image.h @@ -29,7 +29,7 @@ struct ImageInfo { int h; int w; - int size; + int size = 0; QString mimetype; QString thumbnail_url; diff --git a/include/events/messages/Video.h b/include/events/messages/Video.h index 79713546..6aeaf4d5 100644 --- a/include/events/messages/Video.h +++ b/include/events/messages/Video.h @@ -29,7 +29,7 @@ struct VideoInfo { int h; int w; - int size; + int size = 0; int duration; QString mimetype; diff --git a/include/timeline/TimelineViewManager.h b/include/timeline/TimelineViewManager.h index 854c2550..edb44ecd 100644 --- a/include/timeline/TimelineViewManager.h +++ b/include/timeline/TimelineViewManager.h @@ -68,6 +68,7 @@ public slots: void queueEmoteMessage(const QString &msg); void queueImageMessage(const QString &roomid, const QString &filename, const QString &url); void queueFileMessage(const QString &roomid, const QString &filename, const QString &url); + void queueAudioMessage(const QString &roomid, const QString &filename, const QString &url); private slots: void messageSent(const QString &eventid, const QString &roomid, int txnid); -- cgit 1.5.1