https://bugs.kde.org/show_bug.cgi?id=528234

            Bug ID: 528234
           Summary: Qt Quick FileDialog hides remote and virtual places
                    and refuses to save to remote locations since Qt 6.12
    Classification: Plasma
           Product: plasma-integration
      Version First 6.8.2
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Since Qt 6.12 every application that uses the Qt Quick FileDialog gets a
reduced KDE file dialog on Plasma. The Places panel only shows the local
folders and the devices, the Remote, Recent and Trash entries are gone, and
when I navigate to an sftp location by hand and press Save, the dialog refuses
with "The selected URL uses an unsupported scheme. Please use the following
scheme: file". Applications that use the widget QFileDialog, for example
KWrite, still get the full dialog. I noticed it in Skanpage, which saves to
remote URLs through KIO and where I use an sftp bookmark to hand scanned
documents to a document server. With Qt 6.11 the same bookmark was listed and
saving to it worked.

It can be reproduced without any application. Save the attached file and run it
with

    qml6 -a widget 01_minimal_repro.qml

The "-a widget" part matters, without a QApplication the qml tool falls back to
Qt's own QML dialog and the KDE dialog is not involved. The dialog that opens
has no Remote, Recent or Trash entries in the Places panel, no matter what
user-places.xbel contains.

The chain, as far as I could follow it: qtdeclarative commit e2a088536
("FileDialog: Only allow selecting URLs with the file scheme", picked to 6.12)
makes QQuickFileDialog always call
QFileDialogOptions::setSupportedSchemes({"file"}). KDEPlatformFileDialogHelper
passes that list to KFileWidget::setSupportedSchemes
(kdeplatformfiledialoghelper.cpp line 302 in current master), KFilePlacesModel
then drops every place whose scheme is not "file" (kfileplacesmodel.cpp line
927) and KFileWidget::slotOk rejects any other URL (kfilewidget.cpp line 817).
Qt's dev branch has new modes FileDialog.OpenUrl, OpenUrls and SaveUrl (commit
7ceb22e80) that leave supportedSchemes empty, but they are not in 6.12, so in
6.12 a Qt Quick application has no way to say that it can handle remote URLs.

Bug 415019 describes the same coarse filtering for kdialog, which sets the file
scheme on its own. What is new is that since Qt 6.12 it hits every Qt Quick
application on Plasma, including the ones that save remotely through KIO.

I am not sure where the fix belongs, so I am filing it here where the Qt
options are turned into KFileWidget calls. Keeping at least the places whose
KIO workers hand back local files (trash, recentlyused, remote:/) would bring
back part of the panel, as suggested in bug 415019. For real remote locations
the dialog would have to translate the result through kio-fuse, or applications
will have to wait for the Qt URL modes and adopt them.

openSUSE Tumbleweed, Plasma 6.8.2 (plasma6-integration-plugin 6.8.2), KIO
6.31.0, Qt 6.12.0, kio-fuse 5.1.1, Wayland session. Qt 6.12.0 arrived here on
2026-10-20, before that the system had Qt 6.11.2.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to