Kaydet (Commit) 5cd08cc0 authored tarafından Michael Weghorn's avatar Michael Weghorn Kaydeden (comit) Thorsten Behrens

tdf#123750 kde5: Show removable devices in file dialog

As the Qt documentation for 'QFileDialog::supportedSchemes'
says, setting supported schemes to a non-empty list restricts
the available options:
"Setting this property allows to restrict the type of URLs
the user will be able to select. It is a way for the application
to declare the protocols it will support to fetch the file
content. An empty list means that no restriction is applied
(the default)."

The call to 'QFileDialog::setSupportedSchemes' was copied
over from the gtk3_kde5 VCL plugin in commit
6196b729, where it had been
added by commit f1b60bd6
"Support opening of (some) remote URLs through the KDE file
dialog".

Since only either all schemes (if nothing explicitly set)
or a whitelist of supported locations seems to
be possible (s.a. the Phabricator changes referenced
in the commit message of commit
f1b60bd6), add the
"" scheme that makes removable devices shown -- while
there doesn't seem to be an official documentation on
the available schemes, at least not in
KFileWidget's API documentation [1].

A quick test with all new available options after removing
the call to 'QFileDialog::setSupportedSchemes' altogether
indicated that opening and saving files there doesn't work
reliably in all cases, so rather excplicitly add the ""
scheme rather than claiming support for all schemes
(including e.g. "timeline", "search", "remote", "trash").

[1] https://api.kde.org/frameworks/kio/html/classKFileWidget.html

Change-Id: I89dc37d0f06d280e5dd599f90768c13e8edb915b
Reviewed-on: https://gerrit.libreoffice.org/71320
Tested-by: Jenkins
Reviewed-by: 's avatarKatarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 2c69c93f)
Reviewed-on: https://gerrit.libreoffice.org/72750Reviewed-by: 's avatarThorsten Behrens <Thorsten.Behrens@CIB.de>
üst 97ecb2af
...@@ -98,13 +98,10 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode) ...@@ -98,13 +98,10 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode)
setCustomControlWidgetLayout(_layout); setCustomControlWidgetLayout(_layout);
m_pFileDialog->setSupportedSchemes({ m_pFileDialog->setSupportedSchemes({
QStringLiteral("file"), QStringLiteral("file"), QStringLiteral("ftp"), QStringLiteral("http"),
QStringLiteral("ftp"), QStringLiteral("https"), QStringLiteral("webdav"), QStringLiteral("webdavs"),
QStringLiteral("http"),
QStringLiteral("https"),
QStringLiteral("webdav"),
QStringLiteral("webdavs"),
QStringLiteral("smb"), QStringLiteral("smb"),
QStringLiteral(""), // this makes removable devices shown
}); });
// used to set the custom controls // used to set the custom controls
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment