Skip to content
  • Albert Astals Cid's avatar
    Rework how we open urls that have a # · 239827ba
    Albert Astals Cid authored
    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:
     * okular http://localhost/source2e.pdf#subsection.68.3
     * okular file:///srv/http/source2e.pdf#subsection.68.3
     * okular source2e.pdf#subsection.68.3 (in the /srv/http folder)
     * okular source2e.pdf#2
     * okular http://localhost/foo#bar.pdf
     * okular file:///srv/http/foo#bar.pdf
     * okular foo#bar.pdf (in the /srv/http folder)
    
    What doesn't work:
     * okular http://localhost/foo#bar.pdf#2
    
    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
    239827ba