- if (mimeData->hasFormat("application/x-kde-dndextract")) {
- const QString remoteDBusClient = mimeData->data("application/x-kde-dndextract");
- QDBusMessage message = QDBusMessage::createMethodCall(remoteDBusClient, "/DndExtract",
- "org.kde.DndExtract", "extractSelectedFilesTo");
- message.setArguments(QVariantList() << destUrl.pathOrUrl());
+ if (mimeData->hasFormat(QStringLiteral("application/x-kde-ark-dndextract-service")) &&
+ mimeData->hasFormat(QStringLiteral("application/x-kde-ark-dndextract-path"))) {
+ const QString remoteDBusClient = mimeData->data(QStringLiteral("application/x-kde-ark-dndextract-service"));
+ const QString remoteDBusPath = mimeData->data(QStringLiteral("application/x-kde-ark-dndextract-path"));
+
+ QDBusMessage message = QDBusMessage::createMethodCall(remoteDBusClient, remoteDBusPath,
+ QStringLiteral("org.kde.ark.DndExtract"), QStringLiteral("extractSelectedFilesTo"));
+ message.setArguments({destUrl.toDisplayString(QUrl::PreferLocalFile)});