GenericProject: Make initial selection of files work

All files where considered to be "out-of-tree" since the base directory
was not known at the time the initially marked files were set.

Also remove the need to selectAllFiles later by making sure an
empty set of initially marked files is treated as "select all files".

Change-Id: I5b9745f8afbcc389bed7032b9e76b647f54d681a
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2016-04-06 17:47:28 +02:00
parent 43d571b51b
commit d90c03ee9f

View File

@@ -63,9 +63,7 @@ SelectableFilesModel::SelectableFilesModel(QObject *parent) : QAbstractItemModel
void SelectableFilesModel::setInitialMarkedFiles(const Utils::FileNameList &files)
{
m_files = files.toSet();
m_outOfBaseDirFiles
= Utils::filtered(m_files, [this](const Utils::FileName &fn) { return !fn.isChildOf(m_baseDir); });
m_allFiles = false;
m_allFiles = files.isEmpty();
}
void SelectableFilesModel::startParsing(const Utils::FileName &baseDir)
@@ -95,6 +93,9 @@ void SelectableFilesModel::buildTreeFinished()
delete m_root;
m_root = m_rootForFuture;
m_rootForFuture = nullptr;
m_outOfBaseDirFiles
= Utils::filtered(m_files, [this](const Utils::FileName &fn) { return !fn.isChildOf(m_baseDir); });
endResetModel();
emit parsingFinished();
}
@@ -694,7 +695,6 @@ void SelectableFilesWidget::parsingFinished()
if (!m_model)
return;
m_model->selectAllFiles();
applyFilter();
smartExpand(m_model->index(0,0, QModelIndex()));