Prevent call dialogs from being presented when do not disturb is set as the user...
authorClaudio Cambra <claudio.cambra@gmail.com>
Mon, 6 Jun 2022 16:22:15 +0000 (18:22 +0200)
committerClaudio Cambra <claudio.cambra@gmail.com>
Fri, 10 Jun 2022 09:30:16 +0000 (11:30 +0200)
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
src/gui/tray/usermodel.cpp

index 5907f00d5da47c532f8ea5c9eada1acfbad433d5..f02a2f8c71ac2bacec98f761333301a4163bcaf3 100644 (file)
@@ -130,10 +130,18 @@ void User::slotBuildNotificationDisplay(const ActivityList &list)
 
 void User::slotBuildIncomingCallDialogs(const ActivityList &list)
 {
-    const auto systray = Systray::instance();
     const ConfigFile cfg;
+    const auto userStatus = _account->account()->userStatusConnector()->userStatus().state();
+    if (userStatus == OCC::UserStatus::OnlineStatus::DoNotDisturb ||
+            !cfg.optionalServerNotifications() ||
+            !cfg.showCallNotifications() ||
+            !isDesktopNotificationsAllowed()) {
+        return;
+    }
+
+    const auto systray = Systray::instance();
 
-    if(systray && cfg.showCallNotifications()) {
+    if(systray) {
         for(const auto &activity : list) {
             systray->createCallDialog(activity);
         }