summary refs log tree commit diff
path: root/src/timeline
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2022-02-14 15:43:17 +0100
committerNicolas Werner <nicolas.werner@hotmail.de>2022-02-14 15:43:17 +0100
commitddcd4850f101d3aa1d480a3a1b515209f38bfe82 (patch)
tree9663e2551efa94e623ad49ca3578d82f8ca699a5 /src/timeline
parentPrevent old verification requests from showing up (diff)
parentimprove spacings (diff)
downloadnheko-ddcd4850f101d3aa1d480a3a1b515209f38bfe82.tar.xz
Merge branch 'message-bubbles' of https://github.com/maltee1/nheko into maltee1-message-bubbles
Diffstat (limited to 'src/timeline')
-rw-r--r--src/timeline/TimelineModel.cpp13
-rw-r--r--src/timeline/TimelineModel.h2
2 files changed, 13 insertions, 2 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp

index 662bbb38..fe92fcf7 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp
@@ -467,6 +467,7 @@ TimelineModel::roleNames() const {UserId, "userId"}, {UserName, "userName"}, {PreviousMessageDay, "previousMessageDay"}, + {PreviousMessageIsStateEvent, "previousMessageIsStateEvent"}, {Day, "day"}, {Timestamp, "timestamp"}, {Url, "url"}, @@ -483,6 +484,7 @@ TimelineModel::roleNames() const {IsEdited, "isEdited"}, {IsEditable, "isEditable"}, {IsEncrypted, "isEncrypted"}, + {IsStateEvent, "isStateEvent"}, {Trustlevel, "trustlevel"}, {EncryptionError, "encryptionError"}, {ReplyTo, "replyTo"}, @@ -680,6 +682,9 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r std::holds_alternative<mtx::events::EncryptedEvent<mtx::events::msg::Encrypted>>( *encrypted_event); } + case IsStateEvent: { + return is_state_event(event); + } case Trustlevel: { auto encrypted_event = events.get(event_id(event), "", false); @@ -744,6 +749,7 @@ TimelineModel::data(const mtx::events::collections::TimelineEvents &event, int r m.insert(names[IsEdited], data(event, static_cast<int>(IsEdited))); m.insert(names[IsEditable], data(event, static_cast<int>(IsEditable))); m.insert(names[IsEncrypted], data(event, static_cast<int>(IsEncrypted))); + m.insert(names[IsStateEvent], data(event, static_cast<int>(IsStateEvent))); m.insert(names[ReplyTo], data(event, static_cast<int>(ReplyTo))); m.insert(names[RoomName], data(event, static_cast<int>(RoomName))); m.insert(names[RoomTopic], data(event, static_cast<int>(RoomTopic))); @@ -776,7 +782,8 @@ TimelineModel::data(const QModelIndex &index, int role) const if (!event) return ""; - if (role == PreviousMessageDay || role == PreviousMessageUserId) { + if (role == PreviousMessageDay || role == PreviousMessageUserId || + role == PreviousMessageIsStateEvent) { int prevIdx = rowCount() - index.row() - 2; if (prevIdx < 0) return {}; @@ -785,8 +792,10 @@ TimelineModel::data(const QModelIndex &index, int role) const return {}; if (role == PreviousMessageUserId) return data(*tempEv, UserId); - else + else if (role == PreviousMessageDay) return data(*tempEv, Day); + else + return data(*tempEv, IsStateEvent); } return data(*event, role); diff --git a/src/timeline/TimelineModel.h b/src/timeline/TimelineModel.h
index 6cdff285..e4e3fa9d 100644 --- a/src/timeline/TimelineModel.h +++ b/src/timeline/TimelineModel.h
@@ -210,6 +210,7 @@ public: UserId, UserName, PreviousMessageDay, + PreviousMessageIsStateEvent, Day, Timestamp, Url, @@ -226,6 +227,7 @@ public: IsEdited, IsEditable, IsEncrypted, + IsStateEvent, Trustlevel, EncryptionError, ReplyTo,