This commit is contained in:
parent
513f16c6d2
commit
b77938306b
@ -0,0 +1,42 @@
|
|||||||
|
From 660eb9412a274e28ce13b7091b0e6e7620e5d68b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vishesh Handa <me@vhanda.in>
|
||||||
|
Date: Thu, 28 May 2015 16:37:44 +0200
|
||||||
|
Subject: [PATCH 1/5] Bugzilla Integration: Look for the mappings file in the
|
||||||
|
correct location
|
||||||
|
|
||||||
|
The "mappings" file is not installed in the 'GenericDataLocation', it is
|
||||||
|
installed under the drkonqi prefix in /usr/share/. We should look for it
|
||||||
|
in the correct place.
|
||||||
|
|
||||||
|
Reviewed-By: Aleix Pol
|
||||||
|
|
||||||
|
Cherry-picked from b67f43013426
|
||||||
|
---
|
||||||
|
drkonqi/bugzillaintegration/productmapping.cpp | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/drkonqi/bugzillaintegration/productmapping.cpp b/drkonqi/bugzillaintegration/productmapping.cpp
|
||||||
|
index 96cac5fbceb05168e7a57ed00a94e3c6d4c6bfec..2dcbf7bbfa52dc66fc1f4374a1eadd73ee46add9 100644
|
||||||
|
--- a/drkonqi/bugzillaintegration/productmapping.cpp
|
||||||
|
+++ b/drkonqi/bugzillaintegration/productmapping.cpp
|
||||||
|
@@ -57,7 +57,7 @@ void ProductMapping::map(const QString & appName)
|
||||||
|
|
||||||
|
void ProductMapping::mapUsingInternalFile(const QString & appName)
|
||||||
|
{
|
||||||
|
- KConfig mappingsFile(QString::fromLatin1("mappings"), KConfig::NoGlobals, QStandardPaths::GenericDataLocation);
|
||||||
|
+ KConfig mappingsFile(QString::fromLatin1("mappings"), KConfig::NoGlobals, QStandardPaths::DataLocation);
|
||||||
|
const KConfigGroup mappings = mappingsFile.group("Mappings");
|
||||||
|
if (mappings.hasKey(appName)) {
|
||||||
|
QString mappingString = mappings.readEntry(appName);
|
||||||
|
@@ -82,7 +82,7 @@ void ProductMapping::getRelatedProductsUsingInternalFile(const QString & bugzill
|
||||||
|
//ProductGroup -> kontact=kdepim
|
||||||
|
//Groups -> kdepim=kontact|kmail|korganizer|akonadi|pimlibs..etc
|
||||||
|
|
||||||
|
- KConfig mappingsFile(QString::fromLatin1("mappings"), KConfig::NoGlobals, QStandardPaths::GenericDataLocation);
|
||||||
|
+ KConfig mappingsFile(QString::fromLatin1("mappings"), KConfig::NoGlobals, QStandardPaths::DataLocation);
|
||||||
|
const KConfigGroup productGroup = mappingsFile.group("ProductGroup");
|
||||||
|
|
||||||
|
//Get groups of the application
|
||||||
|
--
|
||||||
|
2.4.1
|
||||||
|
|
154
0002-Reuse-the-existing-Notify-method-for-Notification-s-.patch
Normal file
154
0002-Reuse-the-existing-Notify-method-for-Notification-s-.patch
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
From a12bb76502952749c069b9ab70ac61ee1353079b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Klapetek <mklapetek@kde.org>
|
||||||
|
Date: Thu, 28 May 2015 17:21:17 +0200
|
||||||
|
Subject: [PATCH 2/5] Reuse the existing Notify method for Notification's
|
||||||
|
DataEngine createNotification call
|
||||||
|
|
||||||
|
REVIEW: 123923
|
||||||
|
BUG: 342605
|
||||||
|
FIXED-IN: 5.3.2
|
||||||
|
---
|
||||||
|
applets/notifications/package/contents/ui/Jobs.qml | 25 +++++++++++-----------
|
||||||
|
.../package/contents/ui/Notifications.qml | 7 ++++++
|
||||||
|
dataengines/notifications/notificationaction.cpp | 6 +++---
|
||||||
|
dataengines/notifications/notifications.operations | 5 ++++-
|
||||||
|
dataengines/notifications/notificationsengine.cpp | 18 +++++-----------
|
||||||
|
dataengines/notifications/notificationsengine.h | 3 ++-
|
||||||
|
6 files changed, 34 insertions(+), 30 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/applets/notifications/package/contents/ui/Jobs.qml b/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
index 3307d38b9a1ea54b075b61f023b083eae08428ac..d16a55d9b26f966f8a5ed80439bdb780c2a8e7bf 100644
|
||||||
|
--- a/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
+++ b/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
@@ -80,18 +80,19 @@ Column {
|
||||||
|
summary = infoMessage ? i18nc("the job, which can be anything, failed to complete", "%1: Failed", infoMessage) : i18n("Job Failed")
|
||||||
|
}
|
||||||
|
|
||||||
|
- notifications.addNotification({
|
||||||
|
- source: source,
|
||||||
|
- appIcon: runningJobs[source]["appIconName"],
|
||||||
|
- appName: runningJobs[source]["appName"],
|
||||||
|
- summary: summary,
|
||||||
|
- body: errorText || message,
|
||||||
|
- isPersistent: true,
|
||||||
|
- expireTimeout: 6000,
|
||||||
|
- urgency: 0,
|
||||||
|
- configurable: false,
|
||||||
|
- actions: !error && UrlHelper.isUrlValid(message) ? [{"id": message, "text": i18n("Open...")}] : [] // If the source contains "Job", it tries to open the "id" value (which is "message")
|
||||||
|
- })
|
||||||
|
+ var op = [];
|
||||||
|
+ op["source"] = source;
|
||||||
|
+ op["appIcon"] = runningJobs[source]["appIconName"];
|
||||||
|
+ op["appName"] = runningJobs[source]["appName"];
|
||||||
|
+ op["summary"] = summary;
|
||||||
|
+ op["body"] = errorText || message;
|
||||||
|
+ op["isPersistent"] = true;
|
||||||
|
+ op["expireTimeout"] = 6000;
|
||||||
|
+ op["urgency"] = 0;
|
||||||
|
+ op["configurable"] = false;
|
||||||
|
+ op["actions"] = !error && UrlHelper.isUrlValid(message) ? [message, i18n("Open...")] : []; // If the source contains "Job", it tries to open the "id" value (which is "message")
|
||||||
|
+
|
||||||
|
+ notifications.createNotification(op);
|
||||||
|
|
||||||
|
delete runningJobs[source]
|
||||||
|
}
|
||||||
|
diff --git a/applets/notifications/package/contents/ui/Notifications.qml b/applets/notifications/package/contents/ui/Notifications.qml
|
||||||
|
index 333f5b84202a267227f466d26bb6cc571c3af1e9..5571a7608c9ece18e5475bb80c5fb2accf905b6b 100644
|
||||||
|
--- a/applets/notifications/package/contents/ui/Notifications.qml
|
||||||
|
+++ b/applets/notifications/package/contents/ui/Notifications.qml
|
||||||
|
@@ -98,6 +98,13 @@ Column {
|
||||||
|
op["appRealName"] = appRealName;
|
||||||
|
service.startOperationCall(op)
|
||||||
|
}
|
||||||
|
+ function createNotification(data) {
|
||||||
|
+ var service = notificationsSource.serviceForSource("notification");
|
||||||
|
+ var op = service.operationDescription("createNotification");
|
||||||
|
+ // add everything from "data" to "op"
|
||||||
|
+ for (var attrname in data) { op[attrname] = data[attrname]; }
|
||||||
|
+ service.startOperationCall(op);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
function closeNotification(source) {
|
||||||
|
var service = notificationsSource.serviceForSource(source)
|
||||||
|
diff --git a/dataengines/notifications/notificationaction.cpp b/dataengines/notifications/notificationaction.cpp
|
||||||
|
index db27cb31055668f58291c36bd70314df09000236..5302f7808fd43c924a3f7b1fd7cfc0acba45c500 100644
|
||||||
|
--- a/dataengines/notifications/notificationaction.cpp
|
||||||
|
+++ b/dataengines/notifications/notificationaction.cpp
|
||||||
|
@@ -59,9 +59,9 @@ void NotificationAction::start()
|
||||||
|
parameters().value("appIcon").toString(),
|
||||||
|
parameters().value("summary").toString(),
|
||||||
|
parameters().value("body").toString(),
|
||||||
|
- parameters().value("timeout").toInt(),
|
||||||
|
- false,
|
||||||
|
- QString()
|
||||||
|
+ parameters().value("expireTimeout").toInt(),
|
||||||
|
+ QString(),
|
||||||
|
+ parameters().value("actions").toStringList()
|
||||||
|
);
|
||||||
|
setResult(rv);
|
||||||
|
} else if (operationName() == "configureNotification") {
|
||||||
|
diff --git a/dataengines/notifications/notifications.operations b/dataengines/notifications/notifications.operations
|
||||||
|
index 93b7f0c5b37e4b3a0c2379daa6e28e755e1aac03..046776ec1af981d7fb23db9ddb9bd9d34ec55300 100644
|
||||||
|
--- a/dataengines/notifications/notifications.operations
|
||||||
|
+++ b/dataengines/notifications/notifications.operations
|
||||||
|
@@ -23,9 +23,12 @@
|
||||||
|
<entry name="body" type="String">
|
||||||
|
<label>The whole text of the notification</label>
|
||||||
|
</entry>
|
||||||
|
- <entry name="timeout" type="Int">
|
||||||
|
+ <entry name="expireTimeout" type="Int">
|
||||||
|
<label>The timeout after which the notification will be closed</label>
|
||||||
|
</entry>
|
||||||
|
+ <entry name="actions" type="StringList">
|
||||||
|
+ <label>List of actions in the format of [{"id": "id-of-the-action", "text": i18n("User visible text")}], </label>
|
||||||
|
+ </entry>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<group name="configureNotification">
|
||||||
|
diff --git a/dataengines/notifications/notificationsengine.cpp b/dataengines/notifications/notificationsengine.cpp
|
||||||
|
index 37a11dd1f70bc7692112be1d51918a39682969d9..509f349278f6883f509276b59f088418469a3797 100644
|
||||||
|
--- a/dataengines/notifications/notificationsengine.cpp
|
||||||
|
+++ b/dataengines/notifications/notificationsengine.cpp
|
||||||
|
@@ -354,20 +354,12 @@ QString NotificationsEngine::GetServerInformation(QString& vendor, QString& vers
|
||||||
|
return "Plasma";
|
||||||
|
}
|
||||||
|
|
||||||
|
-int NotificationsEngine::createNotification(const QString &appName, const QString &appIcon, const QString &summary, const QString &body, int timeout, bool configurable, const QString &appRealName)
|
||||||
|
+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 source = QString("notification %1").arg(++m_nextId);
|
||||||
|
- Plasma::DataEngine::Data notificationData;
|
||||||
|
- notificationData.insert("id", QString::number(m_nextId));
|
||||||
|
- notificationData.insert("appName", appName);
|
||||||
|
- notificationData.insert("appIcon", appIcon);
|
||||||
|
- notificationData.insert("summary", summary);
|
||||||
|
- notificationData.insert("body", body);
|
||||||
|
- notificationData.insert("expireTimeout", timeout);
|
||||||
|
- notificationData.insert("configurable", configurable);
|
||||||
|
- notificationData.insert("appRealName", appRealName);
|
||||||
|
-
|
||||||
|
- setData(source, notificationData);
|
||||||
|
+ QVariantMap hints;
|
||||||
|
+ hints.insert("x-kde-appname", appRealName);
|
||||||
|
+ Notify(appName, 0, appIcon, summary, body, actions, hints, timeout);
|
||||||
|
return m_nextId;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/dataengines/notifications/notificationsengine.h b/dataengines/notifications/notificationsengine.h
|
||||||
|
index d8507d0faafe065db89c1a11cd4f2ff3e741c220..7810787776206c4a74d2d831e3c8f367bfcc7618 100644
|
||||||
|
--- a/dataengines/notifications/notificationsengine.h
|
||||||
|
+++ b/dataengines/notifications/notificationsengine.h
|
||||||
|
@@ -53,7 +53,8 @@ public:
|
||||||
|
|
||||||
|
QString GetServerInformation(QString& vendor, QString& version, QString& specVersion);
|
||||||
|
|
||||||
|
- int createNotification(const QString &appName, const QString &appIcon, const QString &summary, const QString &body, int timeout, bool configurable, const QString &appRealName);
|
||||||
|
+ int createNotification(const QString &appName, const QString &appIcon, const QString &summary,
|
||||||
|
+ const QString &body, int timeout, const QString &appRealName, const QStringList &actions);
|
||||||
|
|
||||||
|
void configureNotification(const QString &appName);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.4.1
|
||||||
|
|
@ -0,0 +1,56 @@
|
|||||||
|
From 36bd67d2d9d9e74fda52343ae7ccc5b41e5b4498 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Klapetek <mklapetek@kde.org>
|
||||||
|
Date: Thu, 28 May 2015 17:31:15 +0200
|
||||||
|
Subject: [PATCH 3/5] [notifications] Make sure the "Open..." button on
|
||||||
|
finished jobs still work
|
||||||
|
|
||||||
|
With the previous patch, now everything has "notification N" source
|
||||||
|
name, so there's needed another way to detect that it's a job's
|
||||||
|
notification.
|
||||||
|
|
||||||
|
Reviewed-by: Kai Uwe Broulik
|
||||||
|
---
|
||||||
|
applets/notifications/package/contents/ui/Jobs.qml | 2 +-
|
||||||
|
applets/notifications/package/contents/ui/Notifications.qml | 7 ++++---
|
||||||
|
2 files changed, 5 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/applets/notifications/package/contents/ui/Jobs.qml b/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
index d16a55d9b26f966f8a5ed80439bdb780c2a8e7bf..5d68cfecef1a10c564aab508d9ea0e7cc6203b53 100644
|
||||||
|
--- a/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
+++ b/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
@@ -90,7 +90,7 @@ Column {
|
||||||
|
op["expireTimeout"] = 6000;
|
||||||
|
op["urgency"] = 0;
|
||||||
|
op["configurable"] = false;
|
||||||
|
- op["actions"] = !error && UrlHelper.isUrlValid(message) ? [message, i18n("Open...")] : []; // If the source contains "Job", it tries to open the "id" value (which is "message")
|
||||||
|
+ op["actions"] = !error && UrlHelper.isUrlValid(message) ? ["jobUrl#" + message, i18n("Open...")] : []; // If the source contains "Job", it tries to open the "id" value (which is "message")
|
||||||
|
|
||||||
|
notifications.createNotification(op);
|
||||||
|
|
||||||
|
diff --git a/applets/notifications/package/contents/ui/Notifications.qml b/applets/notifications/package/contents/ui/Notifications.qml
|
||||||
|
index 5571a7608c9ece18e5475bb80c5fb2accf905b6b..13be7d49a14ebbe5399a7f0bf333862f545671a2 100644
|
||||||
|
--- a/applets/notifications/package/contents/ui/Notifications.qml
|
||||||
|
+++ b/applets/notifications/package/contents/ui/Notifications.qml
|
||||||
|
@@ -80,15 +80,16 @@ Column {
|
||||||
|
|
||||||
|
function executeAction(source, id) {
|
||||||
|
//try to use the service
|
||||||
|
- if (source.indexOf("notification") !== -1) {
|
||||||
|
+ if (id.indexOf("jobUrl#") === -1) {
|
||||||
|
var service = notificationsSource.serviceForSource(source)
|
||||||
|
var op = service.operationDescription("invokeAction")
|
||||||
|
op["actionId"] = id
|
||||||
|
|
||||||
|
service.startOperationCall(op)
|
||||||
|
//try to open the id as url
|
||||||
|
- } else if (source.indexOf("Job") !== -1) {
|
||||||
|
- Qt.openUrlExternally(id)
|
||||||
|
+ } else if (id.indexOf("jobUrl#") !== -1) {
|
||||||
|
+ Qt.openUrlExternally(id.slice(7));
|
||||||
|
+ notificationPositioner.closePopup(source);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.4.1
|
||||||
|
|
@ -0,0 +1,56 @@
|
|||||||
|
From c0276440ee8ca26cf79a08a1a4ac2ce12425c10b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Klapetek <mklapetek@kde.org>
|
||||||
|
Date: Thu, 28 May 2015 17:32:55 +0200
|
||||||
|
Subject: [PATCH 4/5] [notifications] Optimize sending the notification data a
|
||||||
|
bit
|
||||||
|
|
||||||
|
According to Kai:
|
||||||
|
|
||||||
|
"object literal is more performant
|
||||||
|
same with [] vs new Array()
|
||||||
|
also you should avoid putting the keys in ""
|
||||||
|
{"foo": bar} is also less performant than {foo: bar} :)"
|
||||||
|
|
||||||
|
And so I did to his bidding.
|
||||||
|
|
||||||
|
Reviewed-by: Kai Uwe Broulik
|
||||||
|
---
|
||||||
|
applets/notifications/package/contents/ui/Jobs.qml | 22 +++++++++++-----------
|
||||||
|
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/applets/notifications/package/contents/ui/Jobs.qml b/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
index 5d68cfecef1a10c564aab508d9ea0e7cc6203b53..669d0bde600c0b50197b3df06ef7cdf466042e8a 100644
|
||||||
|
--- a/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
+++ b/applets/notifications/package/contents/ui/Jobs.qml
|
||||||
|
@@ -80,17 +80,17 @@ Column {
|
||||||
|
summary = infoMessage ? i18nc("the job, which can be anything, failed to complete", "%1: Failed", infoMessage) : i18n("Job Failed")
|
||||||
|
}
|
||||||
|
|
||||||
|
- var op = [];
|
||||||
|
- op["source"] = source;
|
||||||
|
- op["appIcon"] = runningJobs[source]["appIconName"];
|
||||||
|
- op["appName"] = runningJobs[source]["appName"];
|
||||||
|
- op["summary"] = summary;
|
||||||
|
- op["body"] = errorText || message;
|
||||||
|
- op["isPersistent"] = true;
|
||||||
|
- op["expireTimeout"] = 6000;
|
||||||
|
- op["urgency"] = 0;
|
||||||
|
- op["configurable"] = false;
|
||||||
|
- op["actions"] = !error && UrlHelper.isUrlValid(message) ? ["jobUrl#" + message, i18n("Open...")] : []; // If the source contains "Job", it tries to open the "id" value (which is "message")
|
||||||
|
+ var op = {
|
||||||
|
+ appIcon: runningJobs[source].appIconName,
|
||||||
|
+ appName: runningJobs[source].appName,
|
||||||
|
+ summary: summary,
|
||||||
|
+ body: errorText || message,
|
||||||
|
+ isPersistent: true,
|
||||||
|
+ expireTimeout: 6000,
|
||||||
|
+ urgency: 0,
|
||||||
|
+ configurable: false,
|
||||||
|
+ actions: !error && UrlHelper.isUrlValid(message) ? ["jobUrl#" + message, i18n("Open...")] : []
|
||||||
|
+ }; // If the actionId contains "jobUrl#", it tries to open the "id" value (which is "message")
|
||||||
|
|
||||||
|
notifications.createNotification(op);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.4.1
|
||||||
|
|
@ -0,0 +1,72 @@
|
|||||||
|
From c66f30f6ddb3420e3c2fb62e404c684d6231d264 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eike Hein <hein@kde.org>
|
||||||
|
Date: Thu, 28 May 2015 20:11:31 +0200
|
||||||
|
Subject: [PATCH 5/5] Fix launcher sorting the by-activity sorting strategy.
|
||||||
|
|
||||||
|
BUG:348324
|
||||||
|
---
|
||||||
|
.../strategies/activitysortingstrategy.cpp | 30 ++++++++++++++++++++--
|
||||||
|
1 file changed, 28 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libtaskmanager/strategies/activitysortingstrategy.cpp b/libtaskmanager/strategies/activitysortingstrategy.cpp
|
||||||
|
index 29207329b91a859219c7ce26c875d0ca0ab32efd..cfe916c7624a537da993b1f46eb41009c2d29092 100644
|
||||||
|
--- a/libtaskmanager/strategies/activitysortingstrategy.cpp
|
||||||
|
+++ b/libtaskmanager/strategies/activitysortingstrategy.cpp
|
||||||
|
@@ -33,11 +33,36 @@ ActivitySortingStrategy::ActivitySortingStrategy(QObject *parent)
|
||||||
|
|
||||||
|
class ActivitySortingStrategy::Comparator {
|
||||||
|
public:
|
||||||
|
- Comparator(QStringList *activitiesOrder) {
|
||||||
|
+ Comparator(QStringList *activitiesOrder, GroupManager *groupManager) {
|
||||||
|
m_activitiesOrder = activitiesOrder;
|
||||||
|
+ m_groupManager = groupManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator()(const AbstractGroupableItem *i1, const AbstractGroupableItem *i2) {
|
||||||
|
+ if (m_groupManager && m_groupManager->separateLaunchers()) {
|
||||||
|
+ if (i1->isStartupItem()) {
|
||||||
|
+ if (i2->isStartupItem()) {
|
||||||
|
+ return i1->name().toLower() < i2->name().toLower();
|
||||||
|
+ }
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (i2->isStartupItem()) {
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (i1->itemType() == LauncherItemType) {
|
||||||
|
+ if (i2->itemType() == LauncherItemType) {
|
||||||
|
+ return i1->name().toLower() < i2->name().toLower();
|
||||||
|
+ }
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (i2->itemType() == LauncherItemType) {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (!m_priorityCache.contains(i1->id())) {
|
||||||
|
addToCache(i1);
|
||||||
|
}
|
||||||
|
@@ -97,6 +122,7 @@ private:
|
||||||
|
m_priorityCache[item->id()] = cacheEntry;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ GroupManager *m_groupManager;
|
||||||
|
const QStringList *m_activitiesOrder;
|
||||||
|
QHash<int, QList<int> > m_priorityCache;
|
||||||
|
};
|
||||||
|
@@ -111,7 +137,7 @@ void ActivitySortingStrategy::sortItems(ItemList& items)
|
||||||
|
checkActivitiesOrder(items);
|
||||||
|
}
|
||||||
|
|
||||||
|
- Comparator comparator(&m_activitiesOrder);
|
||||||
|
+ Comparator comparator(&m_activitiesOrder, qobject_cast<GroupManager *>(parent()));
|
||||||
|
|
||||||
|
qStableSort(items.begin(), items.end(), comparator);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.4.1
|
||||||
|
|
@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 28 23:05:36 UTC 2015 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
- Added patches from upstream:
|
||||||
|
0001-Bugzilla-Integration-Look-for-the-mappings-file-in-t.patch
|
||||||
|
0002-Reuse-the-existing-Notify-method-for-Notification-s-.patch
|
||||||
|
(kde#342605)
|
||||||
|
0003-notifications-Make-sure-the-Open.-button-on-finished.patch
|
||||||
|
0004-notifications-Optimize-sending-the-notification-data.patch
|
||||||
|
0005-Fix-launcher-sorting-the-by-activity-sorting-strateg.patch
|
||||||
|
(kde#348324)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri May 22 15:30:20 UTC 2015 - hrvoje.senjan@gmail.com
|
Fri May 22 15:30:20 UTC 2015 - hrvoje.senjan@gmail.com
|
||||||
|
|
||||||
|
@ -34,6 +34,11 @@ Patch1: create_kdehome.patch
|
|||||||
# PATCH-FIX_OPENSUSE 0003-Remove-export-of-QT_PLUGIN_PATH.patch -- we install plugins to directory known to Qt5, so export just pollutes both Qt4 and Qt5 plugins
|
# PATCH-FIX_OPENSUSE 0003-Remove-export-of-QT_PLUGIN_PATH.patch -- we install plugins to directory known to Qt5, so export just pollutes both Qt4 and Qt5 plugins
|
||||||
Patch2: 0003-Remove-export-of-QT_PLUGIN_PATH.patch
|
Patch2: 0003-Remove-export-of-QT_PLUGIN_PATH.patch
|
||||||
# PATCHES 100-200 and above are from upstream 5.3 branch
|
# PATCHES 100-200 and above are from upstream 5.3 branch
|
||||||
|
Patch100: 0001-Bugzilla-Integration-Look-for-the-mappings-file-in-t.patch
|
||||||
|
Patch101: 0002-Reuse-the-existing-Notify-method-for-Notification-s-.patch
|
||||||
|
Patch102: 0003-notifications-Make-sure-the-Open.-button-on-finished.patch
|
||||||
|
Patch103: 0004-notifications-Optimize-sending-the-notification-data.patch
|
||||||
|
Patch104: 0005-Fix-launcher-sorting-the-by-activity-sorting-strateg.patch
|
||||||
# PATCHES 201-300 and above are from upstream master/5.4 branch
|
# PATCHES 201-300 and above are from upstream master/5.4 branch
|
||||||
BuildRequires: alsa-devel
|
BuildRequires: alsa-devel
|
||||||
BuildRequires: baloo5-devel >= %{version}
|
BuildRequires: baloo5-devel >= %{version}
|
||||||
@ -190,6 +195,11 @@ workspace. Development files.
|
|||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch100 -p1
|
||||||
|
%patch101 -p1
|
||||||
|
%patch102 -p1
|
||||||
|
%patch103 -p1
|
||||||
|
%patch104 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
|
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5
|
||||||
|
Loading…
x
Reference in New Issue
Block a user