Run `kdialog --getsavefilename`. Observe that the Places panel omits all ioslaves. However many ioslaves will return a `file://<something>` string, and those should show up in the dialog. Creating a file dialog with QFileDialog::setSupportedSchemes({QStringLiteral("file")}); should onlly hide the ioslaves that do not return a `file://<something>` string Relevant kdialog source code: https://cgit.kde.org/kdialog.git/tree/src/kdialog.cpp#n853
The practical result of this is that desirable ioslaves like recentlyused:/locations are inaccessible in the save dialog created by `kdialog --getsavefilename`, which is used by Chromium and Firefox on Ubuntu and openSUSE to save files.
Looking at this deeper in the relevant KIO code, I'm wondering if we should actually fix this in kdialog. What we're trying to do is exclude network locations so you can't chose one of them as the path, but in so doing, we get rid of all kioslaves. We could just be more selective there instead of doing some super fancy logic to override the result of supportedSchemes() in KIO that may not be appropriate.
Patch: https://phabricator.kde.org/D25856
*** Bug 423017 has been marked as a duplicate of this bug. ***
I gotta redo my patch to fix this properly
It could show all places and use kio-fuse to return a local path to the requesting application, unless the KIO protocol knows itself how to return a local path, e.g. for trash:// or desktop://
*** Bug 436847 has been marked as a duplicate of this bug. ***
*** Bug 437465 has been marked as a duplicate of this bug. ***
*** Bug 450476 has been marked as a duplicate of this bug. ***
Kioslave have a metadata "Class" field to designate those that depend on local FS. That should include all those that were added to `schemesthatReturnLocalFiles()` function and more broadly. Example: https://invent.kde.org/frameworks/kio/-/merge_requests/117 > It could show all places and use kio-fuse to return a local path to the requesting application, unless the KIO protocol knows itself how to return a local path, e.g. for trash:// or desktop:// desktop:/ should be fine, but not trash because it does not support well mostLocalUrl which is used in those cases. https://invent.kde.org/frameworks/kio/-/merge_requests/618 "--getsavefilename" implies write access though and not all those protocols support writing.