aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/service/message_storage.vala
diff options
context:
space:
mode:
authorfiaxh <git@mx.ax.lt>2018-02-28 21:02:39 +0100
committerfiaxh <git@mx.ax.lt>2018-03-06 21:55:31 +0100
commit0968da1ff76e7443c2590f4182087bb501d9c8f5 (patch)
tree9c85aaf44bb53386ddb4fc50de8addfe9bf0f3ae /libdino/src/service/message_storage.vala
parenta8ee61b34c4c6c73cda94ac5f60529e892b3666b (diff)
downloaddino-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.vala10
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) => {