aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/entity/conversation.vala
diff options
context:
space:
mode:
authorfrosty <gabriel@bwaaa.monster>2026-08-18 12:08:05 -0400
committerfrosty <gabriel@bwaaa.monster>2026-08-18 12:08:05 -0400
commit35108fe1936a280318ad8935b89277f049a6428e (patch)
treef4f82f13eba7c823457ce5b4a5b62b21a178c628 /libdino/src/entity/conversation.vala
parent7cf1a12faa2c7781f6277c75702f62f1404752a2 (diff)
Split notification settings
Diffstat (limited to 'libdino/src/entity/conversation.vala')
-rw-r--r--libdino/src/entity/conversation.vala10
1 files changed, 9 insertions, 1 deletions
diff --git a/libdino/src/entity/conversation.vala b/libdino/src/entity/conversation.vala
index 40943132..e6991973 100644
--- a/libdino/src/entity/conversation.vala
+++ b/libdino/src/entity/conversation.vala
@@ -115,12 +115,20 @@ public class Conversation : Object {
}
public NotifySetting get_notification_setting(StreamInteractor stream_interactor) {
- return notify_setting != NotifySetting.DEFAULT ? notify_setting : get_notification_default_setting(stream_interactor);
+ return get_notification_setting_for(stream_interactor, Application.get_default().settings.notifications);
+ }
+
+ public NotifySetting get_notification_setting_for(StreamInteractor stream_interactor, bool notifications_enabled) {
+ if (!notifications_enabled) return NotifySetting.OFF;
+ return notify_setting != NotifySetting.DEFAULT ? notify_setting : get_notification_default_setting_for(stream_interactor);
}
public NotifySetting get_notification_default_setting(StreamInteractor stream_interactor) {
if (!Application.get_default().settings.notifications) return NotifySetting.OFF;
+ return get_notification_default_setting_for(stream_interactor);
+ }
+ private NotifySetting get_notification_default_setting_for(StreamInteractor stream_interactor) {
if (type_ == Type.GROUPCHAT) {
if (stream_interactor.get_module(MucManager.IDENTITY).is_private_room(this.account, this.counterpart)) {
return NotifySetting.ON;