Request Notification Permission

If notification permission has not been granted and permission has not previously been asked for request notification permission.
This commit is contained in:
James Graham
2024-10-11 16:28:59 +00:00
parent ab3c40a709
commit 005b7a760c
2 changed files with 19 additions and 1 deletions

View File

@@ -40,7 +40,22 @@ NotificationsManager::NotificationsManager(QObject *parent)
void NotificationsManager::handleNotifications(QPointer<NeoChatConnection> connection)
{
if (KNotificationPermission::checkPermission() != Qt::PermissionStatus::Granted) {
if (KNotificationPermission::checkPermission() == Qt::PermissionStatus::Granted) {
startNotificationJob(connection);
} else if (!permissionAsked) {
KNotificationPermission::requestPermission(this, [this, connection](Qt::PermissionStatus result) {
if (result == Qt::PermissionStatus::Granted) {
startNotificationJob(connection);
} else {
permissionAsked = true;
}
});
}
}
void NotificationsManager::startNotificationJob(QPointer<NeoChatConnection> connection)
{
if (connection == nullptr) {
return;
}