diff options
author | fiaxh <git@lightrise.org> | 2023-01-11 19:54:02 +0100 |
---|---|---|
committer | fiaxh <git@lightrise.org> | 2023-01-11 19:54:02 +0100 |
commit | 75500dc767f2cf657c0fbb5d2a4d4557183ed2e9 (patch) | |
tree | 87f67a933f0459f966932531b427944bb9f67a1f /libdino/src/entity | |
parent | cb3b19b01deb8460627578b885339e7528411f6f (diff) | |
download | dino-75500dc767f2cf657c0fbb5d2a4d4557183ed2e9.tar.gz dino-75500dc767f2cf657c0fbb5d2a4d4557183ed2e9.zip |
Support pinning of conversations (locally)
fixes #290
fixes #1330
Diffstat (limited to 'libdino/src/entity')
-rw-r--r-- | libdino/src/entity/conversation.vala | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libdino/src/entity/conversation.vala b/libdino/src/entity/conversation.vala index 9376dca9..353daeae 100644 --- a/libdino/src/entity/conversation.vala +++ b/libdino/src/entity/conversation.vala @@ -42,9 +42,10 @@ public class Conversation : Object { public enum Setting { DEFAULT, ON, OFF } public Setting send_typing { get; set; default = Setting.DEFAULT; } - public Setting send_marker { get; set; default = Setting.DEFAULT; } + public int pinned { get; set; default = 0; } + private Database? db; public Conversation(Jid jid, Account account, Type type) { @@ -74,6 +75,7 @@ public class Conversation : Object { notify_setting = (NotifySetting) row[db.conversation.notification]; send_typing = (Setting) row[db.conversation.send_typing]; send_marker = (Setting) row[db.conversation.send_marker]; + pinned = row[db.conversation.pinned]; notify.connect(on_update); } @@ -91,7 +93,8 @@ public class Conversation : Object { .value(db.conversation.active_last_changed, (long) active_last_changed.to_unix()) .value(db.conversation.notification, notify_setting) .value(db.conversation.send_typing, send_typing) - .value(db.conversation.send_marker, send_marker); + .value(db.conversation.send_marker, send_marker) + .value(db.conversation.pinned, pinned); if (read_up_to != null) { insert.value(db.conversation.read_up_to, read_up_to.id); } @@ -197,6 +200,8 @@ public class Conversation : Object { update.set(db.conversation.send_typing, send_typing); break; case "send-marker": update.set(db.conversation.send_marker, send_marker); break; + case "pinned": + update.set(db.conversation.pinned, pinned); break; } update.perform(); } |