Skip to content
Snippets Groups Projects
Commit 7aca8a94 authored by Nicolas Werner's avatar Nicolas Werner
Browse files

Reenable view raw message

parent 86f4119a
Branches
Tags
No related merge requests found
...@@ -42,11 +42,9 @@ Rectangle { ...@@ -42,11 +42,9 @@ Rectangle {
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: scrollbar.width anchors.rightMargin: scrollbar.width
height: loader.height
Loader { Loader {
id: loader id: loader
asynchronous: false
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignTop Layout.alignment: Qt.AlignTop
height: item.height height: item.height
...@@ -135,6 +133,7 @@ Rectangle { ...@@ -135,6 +133,7 @@ Rectangle {
} }
MenuItem { MenuItem {
text: "View raw message" text: "View raw message"
onTriggered: chat.model.viewRawMessage(model.id)
} }
MenuItem { MenuItem {
text: "Redact message" text: "Redact message"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "Logging.h" #include "Logging.h"
#include "Utils.h" #include "Utils.h"
#include "dialogs/RawMessage.h"
namespace { namespace {
template<class T> template<class T>
...@@ -220,6 +221,7 @@ TimelineModel::roleNames() const ...@@ -220,6 +221,7 @@ TimelineModel::roleNames() const
{Height, "height"}, {Height, "height"},
{Width, "width"}, {Width, "width"},
{ProportionalHeight, "proportionalHeight"}, {ProportionalHeight, "proportionalHeight"},
{Id, "id"},
}; };
} }
int int
...@@ -293,7 +295,8 @@ TimelineModel::data(const QModelIndex &index, int role) const ...@@ -293,7 +295,8 @@ TimelineModel::data(const QModelIndex &index, int role) const
case ProportionalHeight: case ProportionalHeight:
return QVariant(boost::apply_visitor( return QVariant(boost::apply_visitor(
[](const auto &e) -> double { return eventPropHeight(e); }, events.value(id))); [](const auto &e) -> double { return eventPropHeight(e); }, events.value(id)));
case Id:
return id;
default: default:
return QVariant(); return QVariant();
} }
...@@ -417,3 +420,11 @@ TimelineModel::escapeEmoji(QString str) const ...@@ -417,3 +420,11 @@ TimelineModel::escapeEmoji(QString str) const
{ {
return utils::replaceEmoji(str); 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);
}
...@@ -86,6 +86,7 @@ public: ...@@ -86,6 +86,7 @@ public:
Height, Height,
Width, Width,
ProportionalHeight, ProportionalHeight,
Id,
}; };
QHash<int, QByteArray> roleNames() const override; QHash<int, QByteArray> roleNames() const override;
...@@ -97,6 +98,7 @@ public: ...@@ -97,6 +98,7 @@ public:
Q_INVOKABLE QString avatarUrl(QString id) const; Q_INVOKABLE QString avatarUrl(QString id) const;
Q_INVOKABLE QString formatDateSeparator(QDate date) const; Q_INVOKABLE QString formatDateSeparator(QDate date) const;
Q_INVOKABLE QString escapeEmoji(QString str) const; Q_INVOKABLE QString escapeEmoji(QString str) const;
Q_INVOKABLE void viewRawMessage(QString id) const;
void addEvents(const mtx::responses::Timeline &events); void addEvents(const mtx::responses::Timeline &events);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment