diff options
| author | frosty <gabriel@bwaaa.monster> | 2026-08-18 12:08:05 -0400 |
|---|---|---|
| committer | frosty <gabriel@bwaaa.monster> | 2026-08-18 12:08:05 -0400 |
| commit | 35108fe1936a280318ad8935b89277f049a6428e (patch) | |
| tree | f4f82f13eba7c823457ce5b4a5b62b21a178c628 /libdino/src/entity/conversation.vala | |
| parent | 7cf1a12faa2c7781f6277c75702f62f1404752a2 (diff) | |
Split notification settings
Diffstat (limited to 'libdino/src/entity/conversation.vala')
| -rw-r--r-- | libdino/src/entity/conversation.vala | 10 |
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; |
