<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>
<p>On December 30th, 2013, 10 p.m. UTC, <b>Michal Humpula</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;">this might explain the difference of (Q|K)Url(QString) constructor: http://community.kde.org/Frameworks/Porting_Notes#KDECore_Changes</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;">yep, that works.
(damn, two tries and none of them were right:) I suppose I can close this and you will commit your own fix with the testcase. Ok?</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>