Summary: | Creating a dialog with QFileDialog::setSupportedSchemes({QStringLiteral("file")}); hides all ioslaves, even those that return `file://<something>` string | ||
---|---|---|---|
Product: | [Applications] kdialog | Reporter: | Nate Graham <nate> |
Component: | general | Assignee: | Brad Hards <bradh> |
Status: | ASSIGNED --- | ||
Severity: | normal | CC: | bugseforuns, cw, fabian, kde, kdelibs-bugs, kpschoedel, leonny02, meven.car, meven29, sephiroth_pk |
Priority: | NOR | ||
Version: | 19.11.80 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=406450 https://bugs.kde.org/show_bug.cgi?id=450476 |
||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Nate Graham
2019-12-10 15:48:22 UTC
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. *** 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. |