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)),
|
SelectableFilesDialogAddDirectory dialog(Utils::FileName::fromString(directoryFor(node)),
|
||||||
Utils::FileNameList(), ICore::mainWindow());
|
Utils::FileNameList(), ICore::mainWindow());
|
||||||
const QString addFileFilter = folderNode->addFileFilter();
|
dialog.setAddFileFilter({});
|
||||||
if (!addFileFilter.isEmpty())
|
|
||||||
dialog.setAddFileFilter(addFileFilter);
|
|
||||||
|
|
||||||
if (dialog.exec() == QDialog::Accepted)
|
if (dialog.exec() == QDialog::Accepted)
|
||||||
ProjectExplorerPlugin::addExistingFiles(folderNode, Utils::transform(dialog.selectedFiles(), &Utils::FileName::toString));
|
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)
|
void SelectableFilesWidget::setAddFileFilter(const QString &filter)
|
||||||
{
|
{
|
||||||
m_selectFilesFilterEdit->setText(filter);
|
m_selectFilesFilterEdit->setText(filter);
|
||||||
|
if (m_applyFiltersButton->isEnabled())
|
||||||
|
applyFilter();
|
||||||
|
else
|
||||||
|
m_filteringScheduled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SelectableFilesWidget::setBaseDirEditable(bool edit)
|
void SelectableFilesWidget::setBaseDirEditable(bool edit)
|
||||||
@@ -675,6 +679,7 @@ void SelectableFilesWidget::enableWidgets(bool enabled)
|
|||||||
|
|
||||||
void SelectableFilesWidget::applyFilter()
|
void SelectableFilesWidget::applyFilter()
|
||||||
{
|
{
|
||||||
|
m_filteringScheduled = false;
|
||||||
if (m_model)
|
if (m_model)
|
||||||
m_model->applyFilter(m_selectFilesFilterEdit->text(), m_hideFilesFilterEdit->text());
|
m_model->applyFilter(m_selectFilesFilterEdit->text(), m_hideFilesFilterEdit->text());
|
||||||
}
|
}
|
||||||
@@ -711,6 +716,8 @@ void SelectableFilesWidget::parsingFinished()
|
|||||||
"These files are preserved.", nullptr, preservedFiles.count()));
|
"These files are preserved.", nullptr, preservedFiles.count()));
|
||||||
|
|
||||||
enableWidgets(true);
|
enableWidgets(true);
|
||||||
|
if (m_filteringScheduled)
|
||||||
|
applyFilter();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SelectableFilesWidget::smartExpand(const QModelIndex &idx)
|
void SelectableFilesWidget::smartExpand(const QModelIndex &idx)
|
||||||
|
@@ -241,6 +241,7 @@ private:
|
|||||||
QLabel *m_preservedFilesLabel;
|
QLabel *m_preservedFilesLabel;
|
||||||
|
|
||||||
QLabel *m_progressLabel;
|
QLabel *m_progressLabel;
|
||||||
|
bool m_filteringScheduled = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT SelectableFilesDialogEditFiles : public QDialog
|
class PROJECTEXPLORER_EXPORT SelectableFilesDialogEditFiles : public QDialog
|
||||||
|
Reference in New Issue
Block a user