Adjust to Ark's new drag'n'drop D-Bus interface
Review Request #106131 - Created Aug. 22, 2012 and submitted
|Raphael Kubo da Costa|
Ark's drag'n'drop D-Bus interface needs to be changed: so far, the object path was always /DndExtract, but this does not work if Ark is being used as an embedded KPart (in Konqueror or Rekonq, for example), as all tabs will end up calling QDBusConnection::registerObject() with the same path. Only the first call will work, and the result is that dragging and dropping from any tab previewing an archive with Ark will extract from the first archive being previewed. To fix that, applications that accept the application/x-kde-dndextract mimetype should now be adjusted to check the application/x-kde-ark-dndextract-service and application/x-kde-ark-dndextract-path ones instead; the former contains the same service information that used to be passed, while the latter tells which object path should be talked to.
Dragging and droppping from embedded Ark to Dolphin works as expected.
Thanks Raphael for investigating this bug and for the patch! I have two questions: 1. It looks like the patch would make Ark a hard build time dependency for Dolphin. Am I correct? If yes, is there a good way to fix this? 2. You’ve probably checked this, but just to be sure: is Ark the only possible source for "application/x-kde-dndextract" events? I.e., is it safe to remove the code that handles these?
Thanks Raphael, looks good! Are you going to commit to master only or to 4.9 as well? I'll leave it up to you to decide if this change is safe enough, i.e., if you are sure that it does not cause any unexpected problems (the only source of problems that I can think of at the moment would be that the Ark and Dolphin versions installed on some user's machine don't match). Just make sure that you patch Ark and Dolphin at the same time.