forked from qt-creator/qt-creator
ProjectExplorer: Do not pre-select files in "Add Existing Directory"
In most contexts, the user does not want any files pre-selected in this dialog, which displays a (potentially deep) directory structure from which tpyically only a few entries are to be selected. Fixes: QTCREATORBUG-16574 Change-Id: I1545d33c02ef7e2149b25dc5ec24f85e1778091c Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -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));
|
||||
|
@@ -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)
|
||||
|
@@ -241,6 +241,7 @@ private:
|
||||
QLabel *m_preservedFilesLabel;
|
||||
|
||||
QLabel *m_progressLabel;
|
||||
bool m_filteringScheduled = false;
|
||||
};
|
||||
|
||||
class PROJECTEXPLORER_EXPORT SelectableFilesDialogEditFiles : public QDialog
|
||||
|
Reference in New Issue
Block a user