When editing the location in the location bar, if I am in /home/user/ and I want to go to Documents, it gives the error: "Invalid protocol" if I write Documents/ (not /home/user/Documents), even though Dolphin suggests me the folder. After that the path in the location bar becomes strange if you click on the Done button on the right. If you open a folder and press the go back button, it doesn't do anything at all... Reproducible: Always Steps to Reproduce: 1. Open dolphin. 2. Edit the path in the location bar and write the name of a folder __relatively__ to the current location. 3. It gives you the error: "Invalid protocol" 4. Click on the Done button on the right, the location bar now reports something like this " : " 5. Open a folder and click go back. Actual Results: It doesn't work. Expected Results: It should work :P
Created attachment 79841 [details] Invalid protocol error
Created attachment 79842 [details] Screenshot: weird path in the location bar
Thanks for the bug report. I can confirm the problem.
Created attachment 81323 [details] Fix the handling of relative paths (Dolphin workaround) I think this problem should be fixed within KUrlNavigator, so that the urlAboutToBeChanged(KUrl) and urlChanged(KUrl) signals always send absolute urls. @Frank: What do you think?
Thanks Emmanuel for the patch! I agree that fixing this in KUrlNavigator might be the best option. Then it would also work correctly in the "File Open" dialog.
Would you like to formally submit your patch, Emmanuel?
Git commit 61912633cfc7792b4a3e905ea601318d9e3e85d2 by David Faure, on behalf of Ahmad Samir. Committed on 12/12/2020 at 10:43. Pushed by dfaure into branch 'master'. KUrlNavigator: resolve relative dir paths When the current url is e.g. /path/to/foo/, and the user replaces all the text in the url box with "folder", which happens to be a dir in /path/to/foo/, upon pressing Enter, we resolve the text to /path/to/foo/folder; this seems more useful. Hide the new method, uncommittedUrlAsync(), in the d-pointer; the original method, ucommittedUrl(), doesn't seem to be used by any KDE code other than the KUrlNave unit tests, but that can still work if we make it a member of the Private class and make the unit test a friend... etc; the public uncommittedUrl() should probably be deprecated. Add a unit test. FIXED-IN: 5.78 M +48 -0 autotests/kurlnavigatortest.cpp M +2 -0 autotests/kurlnavigatortest.h M +55 -22 src/filewidgets/kurlnavigator.cpp https://invent.kde.org/frameworks/kio/commit/61912633cfc7792b4a3e905ea601318d9e3e85d2
Git commit 66360b63d8364991f0a6ec1d1f1c88882dbb708f by David Faure, on behalf of Ahmad Samir. Committed on 12/12/2020 at 10:43. Pushed by dfaure into branch 'master'. KUrlNavigator: make completions of relative paths work Call KUrlCompletion::setDir() when the current url changes, so that completions of paths relative to the current url work; otherwise the url box would always offer relative completions consisting of dirs under $HOME, even when the current url isn't $HOME. M +5 -0 src/filewidgets/kurlnavigator.cpp https://invent.kde.org/frameworks/kio/commit/66360b63d8364991f0a6ec1d1f1c88882dbb708f