From bd6de9cd6b0afd1b96a968d0d3b3556e3cd9f713 Mon Sep 17 00:00:00 2001 From: Carl Schwan Date: Wed, 18 Nov 2020 13:53:19 +0100 Subject: [PATCH] Fix reply The C++ header signature was using a C++17 type alias and this was confusing MOC. Just changing the signature to the more verbose type name fix the bug. --- src/neochatroom.cpp | 82 ++++++++++++++++++++++----------------------- src/neochatroom.h | 4 +-- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/src/neochatroom.cpp b/src/neochatroom.cpp index 4d428e4eb..bfd443cf7 100644 --- a/src/neochatroom.cpp +++ b/src/neochatroom.cpp @@ -412,7 +412,7 @@ QString NeoChatRoom::markdownToHTML(const QString &markdown) return result; } -void NeoChatRoom::postArbitaryMessage(const QString &text, MessageEventType type, const QString &replyEventId) +void NeoChatRoom::postArbitaryMessage(const QString &text, Quotient::RoomMessageEvent::MsgType type, const QString &replyEventId) { const auto parsedHTML = markdownToHTML(text); const bool isRichText = Qt::mightBeRichText(parsedHTML); @@ -459,29 +459,29 @@ void NeoChatRoom::postPlainMessage(const QString &text, MessageEventType type, c const auto &replyEvt = **replyIt; // clang-format off - QJsonObject json{ - {"msgtype", msgTypeToString(type)}, - {"body", "> <" + replyEvt.senderId() + "> " + eventToString(replyEvt) + "\n\n" + text}, - {"format", "org.matrix.custom.html"}, - {"m.relates_to", - QJsonObject { - {"m.in_reply_to", + QJsonObject json{ + {"msgtype", msgTypeToString(type)}, + {"body", "> <" + replyEvt.senderId() + "> " + eventToString(replyEvt) + "\n\n" + text}, + {"format", "org.matrix.custom.html"}, + {"m.relates_to", QJsonObject { - {"event_id", replyEventId} + {"m.in_reply_to", + QJsonObject { + {"event_id", replyEventId} + } + } } + }, + {"formatted_body", + "
In reply to " + replyEvt.senderId() + + "
" + eventToString(replyEvt, Qt::RichText) + + "
" + text } - } - }, - {"formatted_body", - "
In reply to " + replyEvt.senderId() + - "
" + eventToString(replyEvt, Qt::RichText) + - "
" + text - } - }; + }; // clang-format on postJson("m.room.message", json); @@ -503,29 +503,29 @@ void NeoChatRoom::postHtmlMessage(const QString &text, const QString &html, Mess const auto &replyEvt = **replyIt; // clang-format off - QJsonObject json{ - {"msgtype", msgTypeToString(type)}, - {"body", "> <" + replyEvt.senderId() + "> " + eventToString(replyEvt) + "\n\n" + text}, - {"format", "org.matrix.custom.html"}, - {"m.relates_to", - QJsonObject { - {"m.in_reply_to", + QJsonObject json{ + {"msgtype", msgTypeToString(type)}, + {"body", "> <" + replyEvt.senderId() + "> " + eventToString(replyEvt) + "\n\n" + text}, + {"format", "org.matrix.custom.html"}, + {"m.relates_to", QJsonObject { - {"event_id", replyEventId} + {"m.in_reply_to", + QJsonObject { + {"event_id", replyEventId} + } + } } + }, + {"formatted_body", + "
In reply to " + replyEvt.senderId() + + "
" + eventToString(replyEvt, Qt::RichText) + + "
" + html } - } - }, - {"formatted_body", - "
In reply to " + replyEvt.senderId() + - "
" + eventToString(replyEvt, Qt::RichText) + - "
" + html - } - }; + }; // clang-format on postJson("m.room.message", json); diff --git a/src/neochatroom.h b/src/neochatroom.h index 2329fe138..eb0d1a44c 100644 --- a/src/neochatroom.h +++ b/src/neochatroom.h @@ -114,8 +114,8 @@ public Q_SLOTS: void acceptInvitation(); void forget(); void sendTypingNotification(bool isTyping); - void postArbitaryMessage(const QString &text, Quotient::MessageEventType type = Quotient::MessageEventType::Text, const QString &replyEventId = ""); - void postPlainMessage(const QString &text, Quotient::MessageEventType type = Quotient::MessageEventType::Text, const QString &replyEventId = ""); + void postArbitaryMessage(const QString &text, Quotient::RoomMessageEvent::MsgType type, const QString &replyEventId); + void postPlainMessage(const QString &text, Quotient::RoomMessageEvent::MsgType type = Quotient::MessageEventType::Text, const QString &replyEventId = ""); void postHtmlMessage(const QString &text, const QString &html, Quotient::MessageEventType type = Quotient::MessageEventType::Text, const QString &replyEventId = ""); void changeAvatar(QUrl localFile); void addLocalAlias(const QString &alias);