diff options
author | fiaxh <git@mx.ax.lt> | 2018-02-28 21:02:39 +0100 |
---|---|---|
committer | fiaxh <git@mx.ax.lt> | 2018-03-06 21:55:31 +0100 |
commit | 0968da1ff76e7443c2590f4182087bb501d9c8f5 (patch) | |
tree | 9c85aaf44bb53386ddb4fc50de8addfe9bf0f3ae /libdino/src/service/message_storage.vala | |
parent | a8ee61b34c4c6c73cda94ac5f60529e892b3666b (diff) | |
download | dino-0968da1ff76e7443c2590f4182087bb501d9c8f5.tar.gz dino-0968da1ff76e7443c2590f4182087bb501d9c8f5.zip |
Only notify on last MAM message, only if not read
fixes #293
Diffstat (limited to 'libdino/src/service/message_storage.vala')
-rw-r--r-- | libdino/src/service/message_storage.vala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libdino/src/service/message_storage.vala b/libdino/src/service/message_storage.vala index 27d9504d..35e05074 100644 --- a/libdino/src/service/message_storage.vala +++ b/libdino/src/service/message_storage.vala @@ -78,6 +78,16 @@ public class MessageStorage : StreamInteractionModule, Object { return null; } + public Conversation? get_conversation_for_stanza_id(Account account, string stanza_id) { + foreach (Conversation conversation in messages.keys) { + if (!conversation.account.equals(account)) continue; + foreach (Message message in messages[conversation]) { + if (message.stanza_id == stanza_id) return conversation; + } + } + return null; + } + private void init_conversation(Conversation conversation) { if (!messages.has_key(conversation)) { messages[conversation] = new Gee.TreeSet<Message>((a, b) => { |