diff options
-rw-r--r-- | vcl/unx/kde5/KDE5FilePicker.hxx | 1 | ||||
-rw-r--r-- | vcl/unx/kde5/KDE5FilePicker2.cxx | 8 |
2 files changed, 6 insertions, 3 deletions
diff --git a/vcl/unx/kde5/KDE5FilePicker.hxx b/vcl/unx/kde5/KDE5FilePicker.hxx index 4fbbc487394c..6f175cc375cf 100644 --- a/vcl/unx/kde5/KDE5FilePicker.hxx +++ b/vcl/unx/kde5/KDE5FilePicker.hxx @@ -79,6 +79,7 @@ protected: QGridLayout* _layout; bool allowRemoteUrls; + bool mbIsFolderPicker; public: explicit KDE5FilePicker(QFileDialog::FileMode); diff --git a/vcl/unx/kde5/KDE5FilePicker2.cxx b/vcl/unx/kde5/KDE5FilePicker2.cxx index 46bcccf4bd24..56734b4d36e9 100644 --- a/vcl/unx/kde5/KDE5FilePicker2.cxx +++ b/vcl/unx/kde5/KDE5FilePicker2.cxx @@ -83,6 +83,7 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode) , _extraControls(new QWidget) , _layout(new QGridLayout(_extraControls)) , allowRemoteUrls(false) + , mbIsFolderPicker(eMode == QFileDialog::Directory) { _dialog->setSupportedSchemes({ QStringLiteral("file"), @@ -96,14 +97,12 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode) _dialog->setFileMode(eMode); - if (eMode == QFileDialog::Directory) + if (mbIsFolderPicker) { _dialog->setOption(QFileDialog::ShowDirsOnly, true); _dialog->setWindowTitle(toQString(VclResId(STR_FPICKER_FOLDER_DEFAULT_TITLE))); } - setMultiSelectionMode(false); - connect(_dialog, &QFileDialog::filterSelected, this, &KDE5FilePicker::filterChanged); connect(_dialog, &QFileDialog::fileSelected, this, &KDE5FilePicker::selectionChanged); connect(this, &KDE5FilePicker::setTitleSignal /*(const OUString&)*/, this, @@ -191,6 +190,9 @@ void SAL_CALL KDE5FilePicker::setMultiSelectionMode(sal_Bool multiSelect) return Q_EMIT setMultiSelectionSignal(multiSelect); } + if (mbIsFolderPicker) + return; + _dialog->setFileMode(multiSelect ? QFileDialog::ExistingFiles : QFileDialog::ExistingFile); } |