Reenable view raw message

This commit is contained in:
Nicolas Werner 2019-09-08 15:26:46 +02:00
parent 86f4119a05
commit 7aca8a9430
3 changed files with 15 additions and 3 deletions

View File

@ -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"

View File

@ -6,6 +6,7 @@
#include "Logging.h"
#include "Utils.h"
#include "dialogs/RawMessage.h"
namespace {
template<class T>
@ -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);
}

View File

@ -86,6 +86,7 @@ public:
Height,
Width,
ProportionalHeight,
Id,
};
QHash<int, QByteArray> 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);