<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/116073/">https://git.reviewboard.kde.org/r/116073/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On February 26th, 2014, 6:47 a.m. UTC, <b>David Faure</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Hmm, KUrl isn't very good with relative urls indeed.
This fix is incomplete: a symlink to a path with a "%" in it would still lead to %25.
The Qt5 fix is obvious: toString(QUrl::FullyDecoded).
But in kdelibs4/qt4, I can't find a good solution. path() truncates at a '#', so no go either. Ah, I found it... QUrl(kurl).toString() :-)
The method I always declared "completely wrong" (for not encoding '#' in paths, breaking round-tripping) finally has its usefulness... (for the case of relative urls, rather rare in KDE code).
I just committed a unittest extension to kurltest.cpp in KDE/4.12 which proves all this :)</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Great! Always fan of unit testing to prove stuff out. I will change the patch to use QUrl(kurl).toString() then.</pre>
<br />
<p>- Dawit</p>
<br />
<p>On February 26th, 2014, 6:31 a.m. UTC, Dawit Alemayehu wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for kdelibs and David Faure.</div>
<div>By Dawit Alemayehu.</div>
<p style="color: grey;"><i>Updated Feb. 26, 2014, 6:31 a.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="http://bugs.kde.org/show_bug.cgi?id=330463">330463</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kdelibs
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">When creating symlinks in KNewFileMenuPrivate::_k_slotSymLink, call prettyUrl() instead url() to retrieve the user entered text. Otherwise, a percent encoded version of the URL will be used to create the symlink which of course results in the creation of an invalid symlink. Note that this call needs to probably be changed toString() in kf5 since it is using QUrl.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Follow the steps outlined in the bug report to create a symlink to a file whose path or name contains characters that are not allowed in a URL.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kfile/knewfilemenu.cpp <span style="color: grey">(e7fe237)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/116073/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>