aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/entity/conversation.vala
diff options
context:
space:
mode:
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 8c1063c7..3853389c 100644
--- a/libdino/src/entity/conversation.vala
+++ b/libdino/src/entity/conversation.vala
@@ -118,12 +118,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;