1 files changed, 15 insertions, 0 deletions
diff --git a/src/Utils.cpp b/src/Utils.cpp
index 0ac37d8e..aa36d3d9 100644
--- a/src/Utils.cpp
+++ b/src/Utils.cpp
@@ -27,6 +27,7 @@
#include <cmark.h>
#include "Cache.h"
+#include "Cache_p.h"
#include "Config.h"
#include "EventAccessors.h"
#include "Logging.h"
@@ -880,3 +881,17 @@ utils::markRoomAsDirect(QString roomid, std::vector<RoomMember> members)
});
});
}
+
+int
+utils::getChildNotificationsForSpace(const QString &spaceId)
+{
+ auto children = cache::getRoomInfo(cache::client()->getChildRoomIds(spaceId.toStdString()));
+ int total{0};
+ for (const auto &[childId, child] : children) {
+ if (child.is_space)
+ total += utils::getChildNotificationsForSpace(childId);
+ else
+ total += child.notification_count;
+ }
+ return total;
+}
|