Improve invited room counting

I didn't realize when redoing the tooltip for DMs that directChatInvites
was a boolean, not an integer type. Now it's changed to an integer type,
which fixes the DM invite count.

NeoChat apparently didn't count normal room invites until now either, so
now Home is highlighted in that case. Now it should be harder to miss
these kinds of invites.
This commit is contained in:
Joshua Goins
2025-11-09 09:56:49 -05:00
parent 1336194cf4
commit 887865c0aa
3 changed files with 35 additions and 18 deletions

View File

@@ -95,6 +95,7 @@ void NeoChatConnection::connectSignals()
Q_EMIT directChatsHaveHighlightNotificationsChanged();
});
}
Q_EMIT roomInvitesChanged();
connect(room, &Room::unreadStatsChanged, this, [this]() {
refreshBadgeNotificationCount();
Q_EMIT homeNotificationsChanged();
@@ -456,15 +457,20 @@ bool NeoChatConnection::homeHaveHighlightNotifications() const
return false;
}
bool NeoChatConnection::directChatInvites() const
qsizetype NeoChatConnection::directChatInvites() const
{
auto inviteRooms = rooms(JoinState::Invite);
for (const auto inviteRoom : inviteRooms) {
if (inviteRoom->isDirectChat()) {
return true;
}
}
return false;
const auto inviteRooms = rooms(JoinState::Invite);
return std::ranges::count_if(inviteRooms, [](const auto room) {
return room->isDirectChat();
});
}
qsizetype NeoChatConnection::roomInvites() const
{
const auto inviteRooms = rooms(JoinState::Invite);
return std::ranges::count_if(inviteRooms, [](const auto room) {
return !room->isDirectChat();
});
}
QCoro::Task<void> NeoChatConnection::setupPushNotifications(QString endpoint)