aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/entity/conversation.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2023-01-11 19:54:02 +0100
committerfiaxh <git@lightrise.org>2023-01-11 19:54:02 +0100
commit75500dc767f2cf657c0fbb5d2a4d4557183ed2e9 (patch)
tree87f67a933f0459f966932531b427944bb9f67a1f /libdino/src/entity/conversation.vala
parentcb3b19b01deb8460627578b885339e7528411f6f (diff)
downloaddino-75500dc767f2cf657c0fbb5d2a4d4557183ed2e9.tar.gz
dino-75500dc767f2cf657c0fbb5d2a4d4557183ed2e9.zip
Support pinning of conversations (locally)
fixes #290 fixes #1330
Diffstat (limited to 'libdino/src/entity/conversation.vala')
-rw-r--r--libdino/src/entity/conversation.vala9
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();
}