diff --git a/applets/notifications/package/contents/ui/Jobs.qml b/applets/notifications/package/contents/ui/Jobs.qml
--- a/applets/notifications/package/contents/ui/Jobs.qml
+++ b/applets/notifications/package/contents/ui/Jobs.qml
@@ -88,6 +88,7 @@
isPersistent: true,
urgency: 0,
configurable: false,
+ skipGrouping: true, // Bug 360156
actions: !error && UrlHelper.isUrlValid(message) ? ["jobUrl#" + message, i18n("Open...")] : []
}; // If the actionId contains "jobUrl#", it tries to open the "id" value (which is "message")
diff --git a/dataengines/notifications/notificationaction.cpp b/dataengines/notifications/notificationaction.cpp
--- a/dataengines/notifications/notificationaction.cpp
+++ b/dataengines/notifications/notificationaction.cpp
@@ -61,14 +61,18 @@
int expireTimeout = parameters().value(QStringLiteral("expireTimeout")).toInt();
bool isPersistent = parameters().value(QStringLiteral("isPersistent")).toBool();
+ QVariantMap hints;
+ if (parameters().value(QStringLiteral("skipGrouping")).toBool()) {
+ hints.insert(QStringLiteral("x-kde-skipGrouping"), true);
+ }
+
int rv = m_engine->createNotification(parameters().value(QStringLiteral("appName")).toString(),
parameters().value(QStringLiteral("appIcon")).toString(),
parameters().value(QStringLiteral("summary")).toString(),
parameters().value(QStringLiteral("body")).toString(),
isPersistent ? 0 : expireTimeout,
- QString(),
- parameters().value(QStringLiteral("actions")).toStringList()
- );
+ parameters().value(QStringLiteral("actions")).toStringList(),
+ hints);
setResult(rv);
} else if (operationName() == QLatin1String("configureNotification")) {
m_engine->configureNotification(parameters()[QStringLiteral("appRealName")].toString(),
diff --git a/dataengines/notifications/notifications.operations b/dataengines/notifications/notifications.operations
--- a/dataengines/notifications/notifications.operations
+++ b/dataengines/notifications/notifications.operations
@@ -32,6 +32,9 @@
+
+
diff --git a/dataengines/notifications/notificationsengine.h b/dataengines/notifications/notificationsengine.h
--- a/dataengines/notifications/notificationsengine.h
+++ b/dataengines/notifications/notificationsengine.h
@@ -54,7 +54,7 @@
QString GetServerInformation(QString& vendor, QString& version, QString& specVersion);
int createNotification(const QString &appName, const QString &appIcon, const QString &summary,
- const QString &body, int timeout, const QString &appRealName, const QStringList &actions);
+ const QString &body, int timeout, const QStringList &actions, const QVariantMap &hints);
void configureNotification(const QString &appName, const QString &eventId = QString());
diff --git a/dataengines/notifications/notificationsengine.cpp b/dataengines/notifications/notificationsengine.cpp
--- a/dataengines/notifications/notificationsengine.cpp
+++ b/dataengines/notifications/notificationsengine.cpp
@@ -392,10 +392,8 @@
}
int NotificationsEngine::createNotification(const QString &appName, const QString &appIcon, const QString &summary,
- const QString &body, int timeout, const QString &appRealName, const QStringList &actions)
+ const QString &body, int timeout, const QStringList &actions, const QVariantMap &hints)
{
- QVariantMap hints;
- hints.insert(QStringLiteral("x-kde-appname"), appRealName);
Notify(appName, 0, appIcon, summary, body, actions, hints, timeout);
return m_nextId;
}