diff --git a/libnotificationmanager/notificationgroupingproxymodel.cpp b/libnotificationmanager/notificationgroupingproxymodel.cpp --- a/libnotificationmanager/notificationgroupingproxymodel.cpp +++ b/libnotificationmanager/notificationgroupingproxymodel.cpp @@ -465,15 +465,29 @@ } if (isGroup) { - // For group parent items, DisplayRole is mapped to AppName of the first child. switch (role) { case Notifications::IsGroupRole: return true; case Notifications::GroupChildrenCountRole: return rowCount(proxyIndex); case Notifications::IsInGroupRole: return false; + // Combine all notifications into one for some basic grouping + case Notifications::BodyRole: { + QString body; + for (int i = 0; i < rowCount(proxyIndex); ++i) { + const QString stringData = index(i, 0, proxyIndex).data(role).toString(); + if (!stringData.isEmpty()) { + if (!body.isEmpty()) { + body.append(QLatin1String("
")); + } + body.append(stringData); + } + } + return body; + } + case Notifications::DesktopEntryRole: case Notifications::NotifyRcNameRole: case Notifications::OriginNameRole: