This commit is contained in:
parent
a749e0ac16
commit
bf24100fdd
@ -1,72 +0,0 @@
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user