diff options
Diffstat (limited to 'vcl/unx/kde5/KDE5FilePicker2.cxx')
-rw-r--r-- | vcl/unx/kde5/KDE5FilePicker2.cxx | 8 |
1 files changed, 5 insertions, 3 deletions
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); } |