summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/unx/kde5/KDE5FilePicker.hxx1
-rw-r--r--vcl/unx/kde5/KDE5FilePicker2.cxx8
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);
}