diff --git a/libtaskmanager/autotests/launchertasksmodeltest.cpp b/libtaskmanager/autotests/launchertasksmodeltest.cpp
index 3d801b79d..2110bd689 100644
--- a/libtaskmanager/autotests/launchertasksmodeltest.cpp
+++ b/libtaskmanager/autotests/launchertasksmodeltest.cpp
@@ -23,6 +23,7 @@ License along with this library. If not, see .
#include
#include "launchertasksmodel.h"
+#include "tasktools.h"
using namespace TaskManager;
@@ -42,16 +43,13 @@ class LauncherTasksModelTest : public QObject
private:
QStringList m_urlStrings;
- QStringList m_mangledUrlStrings;
};
void LauncherTasksModelTest::initTestCase()
{
qApp->setProperty("org.kde.KActivities.core.disableAutostart", true);
- m_urlStrings << QLatin1String("file:///usr/share/applications/org.kde.dolphin.desktop");
- m_mangledUrlStrings << QLatin1String("applications:org.kde.dolphin.desktop");
+ m_urlStrings << QLatin1String("file:///usr/share/applications/org.kde.systemmonitor.desktop");
m_urlStrings << QLatin1String("file:///usr/share/applications/org.kde.konversation.desktop");
- m_mangledUrlStrings << QLatin1String("applications:org.kde.konversation.desktop");
}
void LauncherTasksModelTest::shouldRoundTripLauncherUrlList()
@@ -67,8 +65,8 @@ void LauncherTasksModelTest::shouldRoundTripLauncherUrlList()
QCOMPARE(m.launcherList(), m_urlStrings);
- QCOMPARE(m.data(m.index(0, 0), AbstractTasksModel::LauncherUrl).toString(), m_mangledUrlStrings.at(0));
- QCOMPARE(m.data(m.index(1, 0), AbstractTasksModel::LauncherUrl).toString(), m_mangledUrlStrings.at(1));
+ QVERIFY(launcherUrlsMatch(m.data(m.index(0, 0), AbstractTasksModel::LauncherUrl).toUrl(), QUrl(m_urlStrings.at(0))));
+ QVERIFY(launcherUrlsMatch(m.data(m.index(1, 0), AbstractTasksModel::LauncherUrl).toUrl(), QUrl(m_urlStrings.at(1))));
}
void LauncherTasksModelTest::shouldIgnoreInvalidUrls()
@@ -128,7 +126,7 @@ void LauncherTasksModelTest::shouldAddRemoveLauncher()
QVERIFY(added);
QCOMPARE(launcherListChangedSpy.count(), 1);
- QCOMPARE(m.launcherList().at(0), m_urlStrings.at(0));
+ QVERIFY(launcherUrlsMatch(QUrl(m.launcherList().at(0)), QUrl(m_urlStrings.at(0))));
bool removed = m.requestRemoveLauncher(QUrl(m_urlStrings.at(0)));
diff --git a/libtaskmanager/launchertasksmodel.cpp b/libtaskmanager/launchertasksmodel.cpp
index 7c6b3428f..4691cb1ee 100644
--- a/libtaskmanager/launchertasksmodel.cpp
+++ b/libtaskmanager/launchertasksmodel.cpp
@@ -174,7 +174,8 @@ bool LauncherTasksModel::Private::requestAddLauncherToActivities(const QUrl &_ur
if (launcherUrlsMatch(url, launcher, IgnoreQueryItems)) {
ActivitiesSet newActivities;
- if (!activitiesForLauncher.contains(url)) {
+ // Use the key we established equivalence to ('launcher').
+ if (!activitiesForLauncher.contains(launcher)) {
// If we don't have the activities assigned to this url
// for some reason
newActivities = activities;
@@ -185,7 +186,7 @@ bool LauncherTasksModel::Private::requestAddLauncherToActivities(const QUrl &_ur
// launcher should be on all activities
newActivities = ActivitiesSet { NULL_UUID };
- } else if (isOnAllActivities(activitiesForLauncher[url])) {
+ } else if (isOnAllActivities(activitiesForLauncher[launcher])) {
// If we have been on all activities before, and we have
// been asked to be on a specific one, lets make an
// exception - we will set the activities to exactly
@@ -195,13 +196,13 @@ bool LauncherTasksModel::Private::requestAddLauncherToActivities(const QUrl &_ur
} else {
newActivities += activities;
- newActivities += activitiesForLauncher[url];
+ newActivities += activitiesForLauncher[launcher];
}
}
- if (newActivities != activitiesForLauncher[url]) {
- setActivitiesForLauncher(url, newActivities);
+ if (newActivities != activitiesForLauncher[launcher]) {
+ setActivitiesForLauncher(launcher, newActivities);
emit q->dataChanged(
q->index(row, 0),