Skip to content

Rework how we open urls that have a #

Albert Astals Cid requested to merge work/aacid/426976 into release/20.12

Previously if it was a remote url that had # and a . after the # we assumed the url had no fragment and everything was filename.

We don't do that anymore, what we do now is try to open the url as parsed, i.e. before the # is the filename after is the fragment, and if that fails we try to open everything as filename and nothing as fragment.

Unfortunately given how kpart internals handle opening local vs remote urls we need to do this in two places.

Also we have to remove the test that checked that the url was mangled at the shell level because we don't do that anymore. Unfortunately can't add a test for the new codepage since it would involve starting an http server ^_^

Filenames: source2e.pdf foo#bar.pdf

What works:

What doesn't work:

I think it's a fair limitation that if you want to open a file that contains # in the name and also use a # page marker you need to use the encoded url like okular http://localhost/foo%23bar.pdf#2 after all things like firefox will totally fail opening http://localhost/foo#bar.pdf and will just work if you give the encoded url

BUGS: 426976

Merge request reports