Bug 416257 - mailto feature does not work anymore
Summary: mailto feature does not work anymore
Alias: None
Product: krunner
Classification: Plasma
Component: locations (show other bugs)
Version: 5.17.5
Platform: Other Linux
: NOR normal (vote)
Target Milestone: ---
Assignee: Sebastian Kügler
Keywords: usability
: 222503 304149 327677 (view as bug list)
Depends on:
Reported: 2020-01-14 16:50 UTC by Méven Car
Modified: 2020-11-30 16:10 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.21


Note You need to log in before you can comment on or make changes to this bug.
Description Méven Car 2020-01-14 16:50:17 UTC

Try to send a mail using krunner does suggest anything and thus does not work.

1. Have kmail or any other email client setup in kcm componenentchooser
2. type "test@test.com" or "mailto:test@test.com"

No completion

Completion allowing to open a compose mail to the typed-in address window in the default email client

Documentation at :
Is outdated consequently

Previously the runner location responsible for mailto used kmailservice exec helper helper protocol which was removed : https://cgit.kde.org/kio.git/commit/?id=2e6980e9ba3b91798dad0db9f9d78317b2d7e4a2

We need to use KToolInvocation::invokeMailer or better QDesktopServices::openUrl to implement the feature again.
Comment 1 Alexander Lohnau 2020-06-27 19:38:02 UTC
*** Bug 304149 has been marked as a duplicate of this bug. ***
Comment 2 Alexander Lohnau 2020-07-11 15:33:42 UTC
*** Bug 327677 has been marked as a duplicate of this bug. ***
Comment 3 Alexander Lohnau 2020-07-11 18:14:03 UTC
*** Bug 222503 has been marked as a duplicate of this bug. ***
Comment 4 Kai Uwe Broulik 2020-11-30 10:52:39 UTC
Git commit 7da3e583cab231b7505acb3dbc6ee63c6d557929 by Kai Uwe Broulik.
Committed on 30/11/2020 at 10:50.
Pushed by broulik into branch 'master'.

[Location Runner] Also explicitly look for URL scheme handlers

KProtocolInfo handles only protocols KIO knows but apps can also register to be
a URL scheme handler independently of this.

This patch makes the location runner also query for the preferred URL scheme handler
when no known protocol is found. It also prefers the scheme handler over the helper
protocol since a service has a name.

While at it, also format the protocol "exec" using DesktopExecParser to avoid
showing placeholders like '%u' to the user. Also use PreferLocalFile for "go to".

M  +22   -9    runners/locations/locationrunner.cpp