Review Request 127829: use QUrl::fromUserInput to construct sound url

Harald Sitter sitter at kde.org
Wed May 4 13:26:25 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127829/
-----------------------------------------------------------

Review request for KDE Frameworks and Martin Klapetek.


Bugs: 337276
    https://bugs.kde.org/show_bug.cgi?id=337276


Repository: knotifyconfig


Description
-------

QUrl() would treats it as a parsable uri, but they aren't e.g. # in a uri
separates segments in a local file path it simply is a #.
This "accidentally" worked in Phonon < 4.9 as Phonon obtained string
representations in a way that would bypass internal QUrl checks for
fileyness and URI ambiguity. Since 4.9 Phonon expects scheme-less URLs to
be local files, but QUrl() would most of the time not do that since it
would honestly think the soundfilename is a random (i.e. not necessarily
local) uri.

To fix this use QUrl::fromUserInput which behaves exactly like what we
need to properly resolve relative names, urls, paths, full URIs.

This now works with input of the type:
- Oxygen-Sys-Special.ogg
- /usr/share/sounds/Oxygen-Sys-Special.ogg
- file:///usr/share/sounds/Oxygen-Sys-Special.ogg
- /usr/share/sounds/#KDE-Im-Cant-#Connect.ogg
- file:///usr/share/sounds/#KDE-Im-Cant-#Connect.ogg
- http://people.ubuntu.com/~apachelogger/sounds/sounds-3.5/KDE_Glass_Break.ogg
(yes, we can have http notifications!!!! https://xkcd.com/1172/)

CCBUG: 337276


Diffs
-----

  src/knotifyconfigactionswidget.cpp 98286c4d0e8a7deec5d35986a261222931afb60d 

Diff: https://git.reviewboard.kde.org/r/127829/diff/


Testing
-------

built and played all of the above


Thanks,

Harald Sitter

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160504/b53e1c02/attachment.html>


More information about the Kde-frameworks-devel mailing list