From a8166462adc8ffd8d6c5d2a9a50e5cde5c810588 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 4 Oct 2019 01:10:46 +0200 Subject: File messages (qml) --- src/timeline2/TimelineModel.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'src/timeline2/TimelineModel.cpp') diff --git a/src/timeline2/TimelineModel.cpp b/src/timeline2/TimelineModel.cpp index 83d1e417..d624c938 100644 --- a/src/timeline2/TimelineModel.cpp +++ b/src/timeline2/TimelineModel.cpp @@ -87,8 +87,9 @@ eventFormattedBody(const mtx::events::RoomEvent &e) if (pos != std::string::npos) temp.erase(pos, std::string("").size()); return QString::fromStdString(temp); - } else - return QString::fromStdString(e.content.body); + } else { + return QString::fromStdString(e.content.body).toHtmlEscaped().replace("\n", "
"); + } } template @@ -138,6 +139,20 @@ eventFilename(const mtx::events::RoomEvent &e) return QString::fromStdString(e.content.body); } +template +auto +eventFilesize(const mtx::events::RoomEvent &e) -> decltype(e.content.info.size) +{ + return e.content.info.size; +} + +template +int64_t +eventFilesize(const T &) +{ + return 0; +} + template QString eventMimeType(const T &) @@ -341,6 +356,7 @@ TimelineModel::roleNames() const {Timestamp, "timestamp"}, {Url, "url"}, {Filename, "filename"}, + {Filesize, "filesize"}, {MimeType, "mimetype"}, {Height, "height"}, {Width, "width"}, @@ -423,6 +439,12 @@ TimelineModel::data(const QModelIndex &index, int role) const case Filename: return QVariant(boost::apply_visitor( [](const auto &e) -> QString { return eventFilename(e); }, event)); + case Filesize: + return QVariant(boost::apply_visitor( + [](const auto &e) -> QString { + return utils::humanReadableFileSize(eventFilesize(e)); + }, + event)); case MimeType: return QVariant(boost::apply_visitor( [](const auto &e) -> QString { return eventMimeType(e); }, event)); -- cgit 1.5.1