Skip to content

KEMailClientLauncherJob: add XDG Portal support

When we detect that the org.freedesktop.portal.Email portal is available and we are not part of the portal already*, forward the call to the portal.
When the host uses the kde desktop portals, this will use KEMailClientLauncherJob again outside the sandbox if any.

*The current version assumes only the KDE portal with the dbus name org.freedesktop.impl.portal.desktop.kde would use KEMailClientLauncherJob internally.

QGenericUnixServices::openUrl("mailto:...") already has support for the email portal, but:

  • it seems wasteful to convert back and forth to a mailto URL
  • it doesn't give as much control over the error cases
  • it is not async

Merge request reports