QUrl from a string (porting KUrl constructor or KCmdLineArgs::url)

David Faure faure at kde.org
Thu Oct 23 22:06:19 BST 2014

On Saturday 18 October 2014 02:39:27 Kevin Kofler wrote:
> PS:
> I wrote:
> > So, Lukáš Tinkl answered me on #fedora-kde IRC. For posterity:
> > 
> > * Qt 5.4 introduces a new overload:
> >   http://doc-snapshot.qt-project.org/qt5-5.4/qurl.html#fromUserInput-2
> >   with a third parameter that solves this issue.

Yep, I added that.

> > * This is how Okular solves the problem without hard-depending on Qt 5.4:
> >   http://quickgit.kde.org/?p=okular.git&a=commit&h=d98b4d920037422fe052ffa
> >   2633349d41fdbe02e
> Sorry for yet another self-reply, but I'll point out that Okular currently
> uses the two-argument form, which according to the documentation is enough
> when only existing files need to be supported, but I definitely recommend
> passing the third QUrl::AssumeLocalFile argument. The reason is that I don't
> want Kompare (or most other applications that accept either a file or a
> URL) to do a hostname lookup if it's passed a nonexisting file. I think it
> doesn't make any sense to assume a URL if no http:// is given.

It does when you type e.g.
  konqueror google.com

But I agree that for other types of apps it might not.

> It sends
> mistyped file names out as DNS lookups, which can even be argued to be a
> security issue.

The usual security vs convenience debate....

>  I definitely recommend passing the third QUrl::AssumeLocalFile argument

Yep, probably makes sense in most apps.

David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5

More information about the kde-core-devel mailing list