<table><tr><td style="">meven added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D26690">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
color: #6B748C;
font-style: italic;
margin: 4px 0 12px 0;
padding: 8px 12px;
background-color: #F8F9FC;">
<div style="font-style: normal;
padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D26690#595221" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">D26690#595221</a>, <a href="https://phabricator.kde.org/p/dfaure/" style="
border-color: #f1f7ff;
color: #19558d;
background-color: #f1f7ff;
border: 1px solid transparent;
border-radius: 3px;
font-weight: bold;
padding: 0 4px;">@dfaure</a> wrote:</div>
<div style="margin: 0;
padding: 0;
border: 0;
color: rgb(107, 116, 140);"><p>s/Schema/Scheme/ everywhere (method name, commit log)</p>
<p>I want to deprecate KMimeTypeTrader, this should rather go into the upcoming KApplicationTrader <a href="https://phabricator.kde.org/D25698" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">D25698</a>, if new API is needed.</p>
<p>I'm pretty sure you can use KMimeTypeTrader::query(mimeHandler) instead of parsing mimeapps.list. And then I wonder if you really need new API :)</p></div>
</blockquote>
<p>Let me be clearer about my intend.</p>
<p>Basically it is about fixing the TODO in kmimeassociation.cpp added in <a href="https://phabricator.kde.org/R309:3116911fa0d02dc4c5f05923cc6d7bf490a580e5" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">3116911fa0d02dc4c5f05923cc6d7bf490a580e5</a></p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">// TODO "Default Applications" is a separate query and a separate algorithm, says the spec.
// For now this is better than nothing though.
parseAddedAssociations(KConfigGroup(&profile, "Default Applications"), file, basePreference);</pre></div>
<p>For instance say, I have in ~/.config/mimeapps.list :</p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">[Added Associations]
x-scheme-handler/mailto=org.kde.kate.org;thunderbird.desktop
[Default Applications]
x-scheme-handler/mailto=thunderbird.desktop;</pre></div>
<p>Thunderbird will think it is the default email client (according to the spec) but <tt style="background: #ebebeb; font-size: 13px;">KMimeTypeTrader::preferredService("x-scheme-handler/mailto")</tt> <tt style="background: #ebebeb; font-size: 13px;">KApplicationTrader::preferredService("x-scheme-handler/mailto")</tt> will return "org.kde.kate.org".<br />
And in general we have no alternative way to find default association to mimetype according to the xdg specs. It may work as long as we don't have any "Added Associations", or when they match "Default Applications" but non-kde apps are not expected to deviate from the spec for our limitations.</p>
<p>Perhaps all we need is to improve parsing of "Default Applications" so that it is returned by <tt style="background: #ebebeb; font-size: 13px;">KMimeTypeTrader::preferredService</tt>, that is prepend default apps to the list of apps associated with mimetypes.<br />
I will update this PR soonish to implement this idea.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R309 KService</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D26690">https://phabricator.kde.org/D26690</a></div></div><br /><div><strong>To: </strong>meven, dfaure, dvratil, ervin<br /><strong>Cc: </strong>kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns<br /></div>