<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/114693/">https://git.reviewboard.kde.org/r/114693/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On December 30th, 2013, 9:54 p.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;">Ah I see, the issue is when calling setLocationText() with a relative URL.

The KDE4 code (inside setLocationText) would say

if (url.hasPath()) {
    if (!url.directory().isEmpty()) {
        q->setUrl(...);
    } else {
        q->setUrl(url.path(), false);
    }
}

When called with a relative url, url.path() is "passwd", we end up in 
KDirOperator::setUrl("passwd"), which errors out in the KIO::NetAccess::stat check.

Much work for nothing indeed, we should just skip the whole setUrl when called with a relative URL.

This hasPath() was wrong, it should have been a "is not relative" check.

Back to KF5: does this fix it?

-        if (!url.path().isEmpty()) {
+        if (!url.isRelative()) {

I'm curious as to why the setUrl("passwd") behaved differently from kde4 though?

</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;">this might explain the difference of (Q|K)Url(QString) constructor: http://community.kde.org/Frameworks/Porting_Notes#KDECore_Changes</pre>
<br />










<p>- Michal</p>


<br />
<p>On December 30th, 2013, 9 p.m. UTC, Michal Humpula 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 KDE Frameworks.</div>
<div>By Michal Humpula.</div>


<p style="color: grey;"><i>Updated Dec. 30, 2013, 9 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kio
</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;">If I understand correctly documentation of KFileWidget, it should be perfectly ok to do something like this:

KEncodingFileDialog::getOpenUrlsAndEncoding(QString(), 
QUrl("file:///etc/passwd"));

But that doesn't display the thing I'm expecting. Tracing it down I came up with the fix. I'm not claiming that it's the correct one, but at least in my situation the KFileWidget behaves as expected in all tested situations. 

Surprisingly the

void KFileWidgetPrivate::setLocationText(const QList<QUrl> &urlList)

doesn't call any setUrl, which hints that it could actually be correct.</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>src/filewidgets/kfilewidget.cpp <span style="color: grey">(11597b3)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/114693/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>