diff --git a/src/timeline2/TimelineViewManager.cpp b/src/timeline2/TimelineViewManager.cpp
index 6aa2ff43..b0ed4eab 100644
--- a/src/timeline2/TimelineViewManager.cpp
+++ b/src/timeline2/TimelineViewManager.cpp
@@ -100,3 +100,81 @@ TimelineViewManager::queueReplyMessage(const QString &reply, const RelatedInfo &
if (timeline_)
timeline_->sendMessage(text);
}
+
+void
+TimelineViewManager::queueEmoteMessage(const QString &msg)
+{
+ auto html = utils::markdownToHtml(msg);
+
+ mtx::events::msg::Emote emote;
+ emote.body = msg.trimmed().toStdString();
+
+ if (html != msg.trimmed().toHtmlEscaped())
+ emote.formatted_body = html.toStdString();
+
+ if (timeline_)
+ timeline_->sendMessage(emote);
+}
+
+void
+TimelineViewManager::queueImageMessage(const QString &roomid,
+ const QString &filename,
+ const QString &url,
+ const QString &mime,
+ uint64_t dsize,
+ const QSize &dimensions)
+{
+ mtx::events::msg::Image image;
+ image.info.mimetype = mime.toStdString();
+ image.info.size = dsize;
+ image.body = filename.toStdString();
+ image.url = url.toStdString();
+ image.info.h = dimensions.height();
+ image.info.w = dimensions.width();
+ models.value(roomid)->sendMessage(image);
+}
+
+void
+TimelineViewManager::queueFileMessage(const QString &roomid,
+ const QString &filename,
+ const QString &url,
+ const QString &mime,
+ uint64_t dsize)
+{
+ mtx::events::msg::File file;
+ file.info.mimetype = mime.toStdString();
+ file.info.size = dsize;
+ file.body = filename.toStdString();
+ file.url = url.toStdString();
+ models.value(roomid)->sendMessage(file);
+}
+
+void
+TimelineViewManager::queueAudioMessage(const QString &roomid,
+ const QString &filename,
+ const QString &url,
+ const QString &mime,
+ uint64_t dsize)
+{
+ mtx::events::msg::Audio audio;
+ audio.info.mimetype = mime.toStdString();
+ audio.info.size = dsize;
+ audio.body = filename.toStdString();
+ audio.url = url.toStdString();
+ models.value(roomid)->sendMessage(audio);
+}
+
+void
+TimelineViewManager::queueVideoMessage(const QString &roomid,
+ const QString &filename,
+ const QString &url,
+ const QString &mime,
+ uint64_t dsize)
+{
+ mtx::events::msg::Video video;
+ video.info.mimetype = mime.toStdString();
+ video.info.size = dsize;
+ video.body = filename.toStdString();
+ video.url = url.toStdString();
+ models.value(roomid)->sendMessage(video);
+}
diff --git a/src/timeline2/TimelineViewManager.h b/src/timeline2/TimelineViewManager.h
index 7ec0da5f..c2d1a8c0 100644
--- a/src/timeline2/TimelineViewManager.h
+++ b/src/timeline2/TimelineViewManager.h
@@ -48,32 +48,28 @@ public slots:
void queueTextMessage(const QString &msg);
void queueReplyMessage(const QString &reply, const RelatedInfo &related);
- void queueEmoteMessage(const QString &msg) {}
+ void queueEmoteMessage(const QString &msg);
void queueImageMessage(const QString &roomid,
const QString &filename,
const QString &url,
const QString &mime,
uint64_t dsize,
- const QSize &dimensions)
- {}
+ const QSize &dimensions);
void queueFileMessage(const QString &roomid,
const QString &filename,
const QString &url,
const QString &mime,
- uint64_t dsize)
- {}
+ uint64_t dsize);
void queueAudioMessage(const QString &roomid,
const QString &filename,
const QString &url,
const QString &mime,
- uint64_t dsize)
- {}
+ uint64_t dsize);
void queueVideoMessage(const QString &roomid,
const QString &filename,
const QString &url,
const QString &mime,
- uint64_t dsize)
- {}
+ uint64_t dsize);
private:
QQuickView *view;
|