From 7aca8a94304b47904f214325b969c115944296c8 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Sun, 8 Sep 2019 15:26:46 +0200 Subject: [PATCH] Reenable view raw message --- resources/qml/TimelineView.qml | 3 +-- src/timeline2/TimelineModel.cpp | 13 ++++++++++++- src/timeline2/TimelineModel.h | 2 ++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml index 399e85eb..36701c72 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml @@ -42,11 +42,9 @@ Rectangle { anchors.left: parent.left anchors.right: parent.right anchors.rightMargin: scrollbar.width - height: loader.height Loader { id: loader - asynchronous: false Layout.fillWidth: true Layout.alignment: Qt.AlignTop height: item.height @@ -135,6 +133,7 @@ Rectangle { } MenuItem { text: "View raw message" + onTriggered: chat.model.viewRawMessage(model.id) } MenuItem { text: "Redact message" diff --git a/src/timeline2/TimelineModel.cpp b/src/timeline2/TimelineModel.cpp index 16f1dfe6..5fd54170 100644 --- a/src/timeline2/TimelineModel.cpp +++ b/src/timeline2/TimelineModel.cpp @@ -6,6 +6,7 @@ #include "Logging.h" #include "Utils.h" +#include "dialogs/RawMessage.h" namespace { template @@ -220,6 +221,7 @@ TimelineModel::roleNames() const {Height, "height"}, {Width, "width"}, {ProportionalHeight, "proportionalHeight"}, + {Id, "id"}, }; } int @@ -293,7 +295,8 @@ TimelineModel::data(const QModelIndex &index, int role) const case ProportionalHeight: return QVariant(boost::apply_visitor( [](const auto &e) -> double { return eventPropHeight(e); }, events.value(id))); - + case Id: + return id; default: return QVariant(); } @@ -417,3 +420,11 @@ TimelineModel::escapeEmoji(QString str) const { return utils::replaceEmoji(str); } + +void +TimelineModel::viewRawMessage(QString id) const +{ + std::string ev = utils::serialize_event(events.value(id)).dump(4); + auto dialog = new dialogs::RawMessage(QString::fromStdString(ev)); + Q_UNUSED(dialog); +} diff --git a/src/timeline2/TimelineModel.h b/src/timeline2/TimelineModel.h index 66d03cf5..02a0c168 100644 --- a/src/timeline2/TimelineModel.h +++ b/src/timeline2/TimelineModel.h @@ -86,6 +86,7 @@ public: Height, Width, ProportionalHeight, + Id, }; QHash roleNames() const override; @@ -97,6 +98,7 @@ public: Q_INVOKABLE QString avatarUrl(QString id) const; Q_INVOKABLE QString formatDateSeparator(QDate date) const; Q_INVOKABLE QString escapeEmoji(QString str) const; + Q_INVOKABLE void viewRawMessage(QString id) const; void addEvents(const mtx::responses::Timeline &events);