X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/b99f6f50eef395a3ceb88fb3d4b7357cbbc13c85..ddbfe135ce9cec0033e9b6d26429c6e255f0b1b2:/src/global.cpp diff --git a/src/global.cpp b/src/global.cpp index 8babbbddc..c91046efb 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -16,9 +16,6 @@ #include #include #include -#ifdef HAVE_KACTIVITIES -#include -#endif #include @@ -78,7 +75,7 @@ bool Dolphin::attachToExistingInstance(const QList &inputUrls, } int activeWindowIndex = -1; - for (const auto &interface : qAsConst(dolphinInterfaces)) { + for (const auto &interface : std::as_const(dolphinInterfaces)) { ++activeWindowIndex; auto isActiveWindowReply = interface.first->isActiveWindow(); @@ -119,7 +116,7 @@ bool Dolphin::attachToExistingInstance(const QList &inputUrls, } } - for (const auto &interface : qAsConst(dolphinInterfaces)) { + for (const auto &interface : std::as_const(dolphinInterfaces)) { if (interface.second.isEmpty()) { continue; } @@ -143,37 +140,13 @@ bool Dolphin::attachToExistingInstance(const QList &inputUrls, QVector, QStringList>> Dolphin::dolphinGuiInstances(const QString &preferredService) { -#ifdef 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, QStringList>> dolphinInterfaces; - const auto tryAppendInterface = [&dolphinInterfaces](const QString &service) { - // Check if instance can handle our URLs - QSharedPointer interface( - new OrgKdeDolphinMainWindowInterface(service, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); - if (interface->isValid() && !interface->lastError().isValid()) { -#ifdef 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 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, 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 interface( + new OrgKdeDolphinMainWindowInterface(service, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); + if (interface->isValid() && !interface->lastError().isValid()) { + dolphinInterfaces.append(qMakePair(interface, QStringList())); + } } } @@ -220,3 +198,5 @@ void GlobalConfig::updateAnimationDurationFactor(const KConfigGroup &group, cons } double GlobalConfig::s_animationDurationFactor = -1.0; + +#include "moc_global.cpp"