Private
Public Access
1
0

Add sender annotations

This commit is contained in:
2025-05-03 23:19:15 -07:00
parent dd91746310
commit 786d982ce0
9 changed files with 109 additions and 24 deletions

View File

@@ -9,8 +9,16 @@ public class MessageListModel : Object, ListModel
owned get { return _messages.read_only_view; }
}
public bool is_group_chat {
get {
return participants.size > 2;
}
}
public string conversation_guid { get; private set; }
private SortedSet<Message> _messages;
private HashSet<string> participants = new HashSet<string>();
public MessageListModel(string conversation_guid) {
_messages = new TreeSet<Message>((a, b) => {
@@ -29,6 +37,7 @@ public class MessageListModel : Object, ListModel
// Clear existing set
uint old_count = _messages.size;
_messages.clear();
participants.clear();
// Notify of removal
if (old_count > 0) {
@@ -41,6 +50,8 @@ public class MessageListModel : Object, ListModel
for (int i = 0; i < messages.length; i++) {
var message = messages[i];
_messages.add(message);
participants.add(message.sender);
position++;
}