Make notification count calculation more efficient

This commit is contained in:
Nicolas Werner 2022-07-16 03:07:00 +02:00
parent f76fd4ca83
commit 7b33d14277
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
6 changed files with 103 additions and 89 deletions

View file

@ -881,21 +881,3 @@ utils::markRoomAsDirect(QString roomid, std::vector<RoomMember> members)
});
});
}
QPair<int, int>
utils::getChildNotificationsForSpace(const QString &spaceId)
{
auto children = cache::getRoomInfo(cache::client()->getChildRoomIds(spaceId.toStdString()));
QPair<int, int> retVal;
for (const auto &[childId, child] : children) {
if (child.is_space) {
auto temp{utils::getChildNotificationsForSpace(childId)};
retVal.first += temp.first;
retVal.second += temp.second;
} else {
retVal.first += child.notification_count;
retVal.second += child.highlight_count;
}
}
return retVal;
}