From e98a61fea60cf3b95441ce3d9591ced0cf93f566 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Tue, 10 Dec 2019 14:46:52 +0100 Subject: Show topic and name changes in timeline --- src/timeline/TimelineModel.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/timeline/TimelineModel.cpp') diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index e3d87ae6..9da8a194 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -59,6 +59,30 @@ eventMsgType(const mtx::events::RoomEvent &e) -> decltype(e.content.msgtype) return e.content.msgtype; } +template +QString +eventRoomName(const T &) +{ + return ""; +} +QString +eventRoomName(const mtx::events::StateEvent &e) +{ + return QString::fromStdString(e.content.name); +} + +template +QString +eventRoomTopic(const T &) +{ + return ""; +} +QString +eventRoomTopic(const mtx::events::StateEvent &e) +{ + return QString::fromStdString(e.content.topic); +} + template QString eventBody(const mtx::events::Event &) @@ -437,6 +461,8 @@ TimelineModel::roleNames() const {State, "state"}, {IsEncrypted, "isEncrypted"}, {ReplyTo, "replyTo"}, + {RoomName, "roomName"}, + {RoomTopic, "roomTopic"}, }; } int @@ -563,6 +589,12 @@ TimelineModel::data(const QModelIndex &index, int role) const [](const auto &e) -> QString { return eventRelatesTo(e); }, event); return QVariant(evId); } + case RoomName: + return QVariant(boost::apply_visitor( + [](const auto &e) -> QString { return eventRoomName(e); }, event)); + case RoomTopic: + return QVariant(boost::apply_visitor( + [](const auto &e) -> QString { return eventRoomTopic(e); }, event)); default: return QVariant(); } -- cgit 1.5.1