diff options
| author | Méven Car <[email protected]> | 2023-05-24 10:52:59 +0200 |
|---|---|---|
| committer | Méven Car <[email protected]> | 2023-05-24 10:11:41 +0000 |
| commit | ee8b71e5568f5a56b886b877d63fb345c96b2cce (patch) | |
| tree | b498c02128c848f2ffefef59315aaf9d7bbffbad /src/global.cpp | |
| parent | b01329bf360795b51809c0adfeefaa91b79f7950 (diff) | |
Revert "Restrict attaching instances to those on the same activity or same virtual desktop"
This reverts commit b99f6f50eef395a3ceb88fb3d4b7357cbbc13c85.
BUG: 408919
Reintroduces:
CCBUG: 408919
Diffstat (limited to 'src/global.cpp')
| -rw-r--r-- | src/global.cpp | 44 |
1 files changed, 11 insertions, 33 deletions
diff --git a/src/global.cpp b/src/global.cpp index 9246eeb33..554eb41fa 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -16,9 +16,6 @@ #include <KIO/ApplicationLauncherJob> #include <KService> #include <KWindowSystem> -#if HAVE_KACTIVITIES -#include <KActivities/Consumer> -#endif #include <QApplication> @@ -143,37 +140,13 @@ bool Dolphin::attachToExistingInstance(const QList<QUrl> &inputUrls, QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> Dolphin::dolphinGuiInstances(const QString &preferredService) { -#if HAVE_KACTIVITIES - static std::once_flag one_consumer; - static KActivities::Consumer *consumer; - std::call_once(one_consumer, []() { - consumer = new KActivities::Consumer(); - // ensures the consumer is ready for query - QEventLoop loop; - QObject::connect(consumer, &KActivities::Consumer::serviceStatusChanged, &loop, &QEventLoop::quit); - loop.exec(); - }); -#endif - QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> dolphinInterfaces; - const auto tryAppendInterface = [&dolphinInterfaces](const QString &service) { - // Check if instance can handle our URLs - QSharedPointer<OrgKdeDolphinMainWindowInterface> interface( - new OrgKdeDolphinMainWindowInterface(service, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); - if (interface->isValid() && !interface->lastError().isValid()) { -#if HAVE_KACTIVITIES - const auto currentActivity = consumer->currentActivity(); - if (currentActivity.isEmpty() || currentActivity == QStringLiteral("00000000-0000-0000-0000-000000000000") - || interface->isOnActivity(consumer->currentActivity())) -#endif - if (interface->isOnCurrentDesktop()) { - dolphinInterfaces.append(qMakePair(interface, QStringList())); - } - } - }; - if (!preferredService.isEmpty()) { - tryAppendInterface(preferredService); + QSharedPointer<OrgKdeDolphinMainWindowInterface> preferredInterface( + new OrgKdeDolphinMainWindowInterface(preferredService, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); + if (preferredInterface->isValid() && !preferredInterface->lastError().isValid()) { + dolphinInterfaces.append(qMakePair(preferredInterface, QStringList())); + } } // Look for dolphin instances among all available dbus services. @@ -185,7 +158,12 @@ QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> Do const QString myPid = QLatin1Char('-') + QString::number(QCoreApplication::applicationPid()); for (const QString &service : dbusServices) { if (service.startsWith(pattern) && !service.endsWith(myPid)) { - tryAppendInterface(service); + // Check if instance can handle our URLs + QSharedPointer<OrgKdeDolphinMainWindowInterface> interface( + new OrgKdeDolphinMainWindowInterface(service, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); + if (interface->isValid() && !interface->lastError().isValid()) { + dolphinInterfaces.append(qMakePair(interface, QStringList())); + } } } |
