diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 24f73acade8..c1b17eb0c45 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -3427,9 +3427,7 @@ void ProjectExplorerPluginPrivate::addExistingDirectory() SelectableFilesDialogAddDirectory dialog(Utils::FileName::fromString(directoryFor(node)), Utils::FileNameList(), ICore::mainWindow()); - const QString addFileFilter = folderNode->addFileFilter(); - if (!addFileFilter.isEmpty()) - dialog.setAddFileFilter(addFileFilter); + dialog.setAddFileFilter({}); if (dialog.exec() == QDialog::Accepted) ProjectExplorerPlugin::addExistingFiles(folderNode, Utils::transform(dialog.selectedFiles(), &Utils::FileName::toString)); diff --git a/src/plugins/projectexplorer/selectablefilesmodel.cpp b/src/plugins/projectexplorer/selectablefilesmodel.cpp index b8925e4f572..80a9363dc9e 100644 --- a/src/plugins/projectexplorer/selectablefilesmodel.cpp +++ b/src/plugins/projectexplorer/selectablefilesmodel.cpp @@ -601,6 +601,10 @@ SelectableFilesWidget::SelectableFilesWidget(const Utils::FileName &path, void SelectableFilesWidget::setAddFileFilter(const QString &filter) { m_selectFilesFilterEdit->setText(filter); + if (m_applyFiltersButton->isEnabled()) + applyFilter(); + else + m_filteringScheduled = true; } void SelectableFilesWidget::setBaseDirEditable(bool edit) @@ -675,6 +679,7 @@ void SelectableFilesWidget::enableWidgets(bool enabled) void SelectableFilesWidget::applyFilter() { + m_filteringScheduled = false; if (m_model) m_model->applyFilter(m_selectFilesFilterEdit->text(), m_hideFilesFilterEdit->text()); } @@ -711,6 +716,8 @@ void SelectableFilesWidget::parsingFinished() "These files are preserved.", nullptr, preservedFiles.count())); enableWidgets(true); + if (m_filteringScheduled) + applyFilter(); } void SelectableFilesWidget::smartExpand(const QModelIndex &idx) diff --git a/src/plugins/projectexplorer/selectablefilesmodel.h b/src/plugins/projectexplorer/selectablefilesmodel.h index 698ae03d05b..677329cb92b 100644 --- a/src/plugins/projectexplorer/selectablefilesmodel.h +++ b/src/plugins/projectexplorer/selectablefilesmodel.h @@ -241,6 +241,7 @@ private: QLabel *m_preservedFilesLabel; QLabel *m_progressLabel; + bool m_filteringScheduled = false; }; class PROJECTEXPLORER_EXPORT SelectableFilesDialogEditFiles : public QDialog