forked from qt-creator/qt-creator
SessionManager: Clean up methods around projects
Clean up methods around projects() and update its usages to modern language standards. Change-Id: Ia0a4574d014ce41e0d511a392e4eed4680981d0e Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tobias Hunger
parent
0a09ba7319
commit
f2b8e9acd1
@@ -86,7 +86,7 @@ bool checkPackageName(const QString &packageName)
|
|||||||
|
|
||||||
Project *androidProject(const Utils::FileName &fileName)
|
Project *androidProject(const Utils::FileName &fileName)
|
||||||
{
|
{
|
||||||
foreach (Project *project, SessionManager::projects()) {
|
for (Project *project : SessionManager::projects()) {
|
||||||
if (!project->activeTarget())
|
if (!project->activeTarget())
|
||||||
continue;
|
continue;
|
||||||
Kit *kit = project->activeTarget()->kit();
|
Kit *kit = project->activeTarget()->kit();
|
||||||
|
@@ -284,10 +284,7 @@ ParserTreeItem::ConstPtr Parser::parse()
|
|||||||
ParserTreeItem::Ptr rootItem(new ParserTreeItem());
|
ParserTreeItem::Ptr rootItem(new ParserTreeItem());
|
||||||
|
|
||||||
// check all projects
|
// check all projects
|
||||||
foreach (const Project *prj, SessionManager::projects()) {
|
for (const Project *prj : SessionManager::projects()) {
|
||||||
if (!prj)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
ParserTreeItem::Ptr item;
|
ParserTreeItem::Ptr item;
|
||||||
QString prjName(prj->displayName());
|
QString prjName(prj->displayName());
|
||||||
QString prjType(prjName);
|
QString prjType(prjName);
|
||||||
@@ -644,10 +641,8 @@ void Parser::resetData(const CPlusPlus::Snapshot &snapshot)
|
|||||||
QStringList fileList;
|
QStringList fileList;
|
||||||
|
|
||||||
// check all projects
|
// check all projects
|
||||||
foreach (const Project *prj, SessionManager::projects()) {
|
for (const Project *prj : SessionManager::projects())
|
||||||
if (prj)
|
fileList += prj->files(Project::SourceFiles);
|
||||||
fileList += prj->files(Project::SourceFiles);
|
|
||||||
}
|
|
||||||
setFileList(fileList);
|
setFileList(fileList);
|
||||||
|
|
||||||
emit resetDataDone();
|
emit resetDataDone();
|
||||||
|
@@ -60,7 +60,7 @@ CMakeLocatorFilter::CMakeLocatorFilter()
|
|||||||
void CMakeLocatorFilter::prepareSearch(const QString &entry)
|
void CMakeLocatorFilter::prepareSearch(const QString &entry)
|
||||||
{
|
{
|
||||||
m_result.clear();
|
m_result.clear();
|
||||||
foreach (Project *p, SessionManager::projects()) {
|
for (Project *p : SessionManager::projects()) {
|
||||||
CMakeProject *cmakeProject = qobject_cast<CMakeProject *>(p);
|
CMakeProject *cmakeProject = qobject_cast<CMakeProject *>(p);
|
||||||
if (!cmakeProject)
|
if (!cmakeProject)
|
||||||
continue;
|
continue;
|
||||||
|
@@ -158,7 +158,7 @@ void CppIncludesFilter::prepareSearch(const QString &entry)
|
|||||||
if (m_needsUpdate) {
|
if (m_needsUpdate) {
|
||||||
m_needsUpdate = false;
|
m_needsUpdate = false;
|
||||||
QSet<QString> seedPaths;
|
QSet<QString> seedPaths;
|
||||||
foreach (Project *project, SessionManager::projects()) {
|
for (Project *project : SessionManager::projects()) {
|
||||||
foreach (const QString &filePath, project->files(Project::AllFiles))
|
foreach (const QString &filePath, project->files(Project::AllFiles))
|
||||||
seedPaths.insert(filePath);
|
seedPaths.insert(filePath);
|
||||||
}
|
}
|
||||||
|
@@ -132,7 +132,7 @@ void SymbolsFindFilter::startSearch(SearchResult *search)
|
|||||||
SymbolSearcher::Parameters parameters = search->userData().value<SymbolSearcher::Parameters>();
|
SymbolSearcher::Parameters parameters = search->userData().value<SymbolSearcher::Parameters>();
|
||||||
QSet<QString> projectFileNames;
|
QSet<QString> projectFileNames;
|
||||||
if (parameters.scope == SymbolSearcher::SearchProjectsOnly) {
|
if (parameters.scope == SymbolSearcher::SearchProjectsOnly) {
|
||||||
foreach (ProjectExplorer::Project *project, ProjectExplorer::SessionManager::projects())
|
for (ProjectExplorer::Project *project : ProjectExplorer::SessionManager::projects())
|
||||||
projectFileNames += project->files(ProjectExplorer::Project::AllFiles).toSet();
|
projectFileNames += project->files(ProjectExplorer::Project::AllFiles).toSet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -60,7 +60,7 @@ void ResourceHandler::ensureInitialized()
|
|||||||
connect(p, &Project::fileListChanged, this, &ResourceHandler::updateResources);
|
connect(p, &Project::fileListChanged, this, &ResourceHandler::updateResources);
|
||||||
};
|
};
|
||||||
|
|
||||||
foreach (Project *p, SessionManager::projects())
|
for (Project *p : SessionManager::projects())
|
||||||
connector(p);
|
connector(p);
|
||||||
|
|
||||||
connect(SessionManager::instance(), &SessionManager::projectAdded, this, connector);
|
connect(SessionManager::instance(), &SessionManager::projectAdded, this, connector);
|
||||||
|
@@ -255,7 +255,7 @@ bool UpdateIncludeDependenciesVisitor::haveMatchingStereotypes(const qmt::MObjec
|
|||||||
QStringList UpdateIncludeDependenciesVisitor::findFilePathOfComponent(const qmt::MComponent *component)
|
QStringList UpdateIncludeDependenciesVisitor::findFilePathOfComponent(const qmt::MComponent *component)
|
||||||
{
|
{
|
||||||
QMultiHash<QString, Node> filePaths;
|
QMultiHash<QString, Node> filePaths;
|
||||||
foreach (const ProjectExplorer::Project *project, ProjectExplorer::SessionManager::projects()) {
|
for (const ProjectExplorer::Project *project : ProjectExplorer::SessionManager::projects()) {
|
||||||
ProjectExplorer::ProjectNode *projectNode = project->rootProjectNode();
|
ProjectExplorer::ProjectNode *projectNode = project->rootProjectNode();
|
||||||
if (projectNode)
|
if (projectNode)
|
||||||
collectElementPaths(projectNode, &filePaths);
|
collectElementPaths(projectNode, &filePaths);
|
||||||
|
@@ -58,7 +58,7 @@ void AllProjectsFilter::prepareSearch(const QString &entry)
|
|||||||
Q_UNUSED(entry)
|
Q_UNUSED(entry)
|
||||||
if (!fileIterator()) {
|
if (!fileIterator()) {
|
||||||
QStringList paths;
|
QStringList paths;
|
||||||
foreach (Project *project, SessionManager::projects())
|
for (Project *project : SessionManager::projects())
|
||||||
paths.append(project->files(Project::AllFiles));
|
paths.append(project->files(Project::AllFiles));
|
||||||
Utils::sort(paths);
|
Utils::sort(paths);
|
||||||
setFileIterator(new BaseFileFilter::ListIterator(paths));
|
setFileIterator(new BaseFileFilter::ListIterator(paths));
|
||||||
|
@@ -79,7 +79,7 @@ Utils::FileIterator *CurrentProjectFind::files(const QStringList &nameFilters,
|
|||||||
QTC_ASSERT(additionalParameters.isValid(),
|
QTC_ASSERT(additionalParameters.isValid(),
|
||||||
return new Utils::FileListIterator(QStringList(), QList<QTextCodec *>()));
|
return new Utils::FileListIterator(QStringList(), QList<QTextCodec *>()));
|
||||||
QString projectFile = additionalParameters.toString();
|
QString projectFile = additionalParameters.toString();
|
||||||
foreach (Project *project, SessionManager::projects()) {
|
for (Project *project : SessionManager::projects()) {
|
||||||
if (project->document() && projectFile == project->projectFilePath().toString())
|
if (project->document() && projectFile == project->projectFilePath().toString())
|
||||||
return filesForProjects(nameFilters, exclusionFilters, QList<Project *>() << project);
|
return filesForProjects(nameFilters, exclusionFilters, QList<Project *>() << project);
|
||||||
}
|
}
|
||||||
@@ -105,7 +105,7 @@ void CurrentProjectFind::recheckEnabled()
|
|||||||
if (!search)
|
if (!search)
|
||||||
return;
|
return;
|
||||||
QString projectFile = getAdditionalParameters(search).toString();
|
QString projectFile = getAdditionalParameters(search).toString();
|
||||||
foreach (Project *project, SessionManager::projects()) {
|
for (Project *project : SessionManager::projects()) {
|
||||||
if (projectFile == project->projectFilePath().toString()) {
|
if (projectFile == project->projectFilePath().toString()) {
|
||||||
search->setSearchAgainEnabled(true);
|
search->setSearchAgainEnabled(true);
|
||||||
return;
|
return;
|
||||||
|
@@ -1172,7 +1172,7 @@ void MiniProjectTargetSelector::updateProjectListVisible()
|
|||||||
void MiniProjectTargetSelector::updateTargetListVisible()
|
void MiniProjectTargetSelector::updateTargetListVisible()
|
||||||
{
|
{
|
||||||
int maxCount = 0;
|
int maxCount = 0;
|
||||||
foreach (Project *p, SessionManager::projects())
|
for (Project *p : SessionManager::projects())
|
||||||
maxCount = qMax(p->targets().size(), maxCount);
|
maxCount = qMax(p->targets().size(), maxCount);
|
||||||
|
|
||||||
bool visible = maxCount > 1;
|
bool visible = maxCount > 1;
|
||||||
@@ -1185,7 +1185,7 @@ void MiniProjectTargetSelector::updateTargetListVisible()
|
|||||||
void MiniProjectTargetSelector::updateBuildListVisible()
|
void MiniProjectTargetSelector::updateBuildListVisible()
|
||||||
{
|
{
|
||||||
int maxCount = 0;
|
int maxCount = 0;
|
||||||
foreach (Project *p, SessionManager::projects())
|
for (Project *p : SessionManager::projects())
|
||||||
foreach (Target *t, p->targets())
|
foreach (Target *t, p->targets())
|
||||||
maxCount = qMax(t->buildConfigurations().size(), maxCount);
|
maxCount = qMax(t->buildConfigurations().size(), maxCount);
|
||||||
|
|
||||||
@@ -1199,7 +1199,7 @@ void MiniProjectTargetSelector::updateBuildListVisible()
|
|||||||
void MiniProjectTargetSelector::updateDeployListVisible()
|
void MiniProjectTargetSelector::updateDeployListVisible()
|
||||||
{
|
{
|
||||||
int maxCount = 0;
|
int maxCount = 0;
|
||||||
foreach (Project *p, SessionManager::projects())
|
for (Project *p : SessionManager::projects())
|
||||||
foreach (Target *t, p->targets())
|
foreach (Target *t, p->targets())
|
||||||
maxCount = qMax(t->deployConfigurations().size(), maxCount);
|
maxCount = qMax(t->deployConfigurations().size(), maxCount);
|
||||||
|
|
||||||
@@ -1213,7 +1213,7 @@ void MiniProjectTargetSelector::updateDeployListVisible()
|
|||||||
void MiniProjectTargetSelector::updateRunListVisible()
|
void MiniProjectTargetSelector::updateRunListVisible()
|
||||||
{
|
{
|
||||||
int maxCount = 0;
|
int maxCount = 0;
|
||||||
foreach (Project *p, SessionManager::projects())
|
for (Project *p : SessionManager::projects())
|
||||||
foreach (Target *t, p->targets())
|
foreach (Target *t, p->targets())
|
||||||
maxCount = qMax(t->runConfigurations().size(), maxCount);
|
maxCount = qMax(t->runConfigurations().size(), maxCount);
|
||||||
|
|
||||||
@@ -1493,7 +1493,7 @@ void MiniProjectTargetSelector::updateActionAndSummary()
|
|||||||
Project *project = SessionManager::startupProject();
|
Project *project = SessionManager::startupProject();
|
||||||
if (project) {
|
if (project) {
|
||||||
projectName = project->displayName();
|
projectName = project->displayName();
|
||||||
foreach (Project *p, SessionManager::projects()) {
|
for (Project *p : SessionManager::projects()) {
|
||||||
if (p != project && p->displayName() == projectName) {
|
if (p != project && p->displayName() == projectName) {
|
||||||
fileName = project->projectFilePath().toUserOutput();
|
fileName = project->projectFilePath().toUserOutput();
|
||||||
break;
|
break;
|
||||||
|
@@ -1572,7 +1572,7 @@ void ProjectExplorerPluginPrivate::savePersistentSettings()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (!SessionManager::loadingSession()) {
|
if (!SessionManager::loadingSession()) {
|
||||||
foreach (Project *pro, SessionManager::projects())
|
for (Project *pro : SessionManager::projects())
|
||||||
pro->saveSettings();
|
pro->saveSettings();
|
||||||
|
|
||||||
SessionManager::save();
|
SessionManager::save();
|
||||||
@@ -1688,7 +1688,7 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProjects(con
|
|||||||
const QFileInfo fi(fileName);
|
const QFileInfo fi(fileName);
|
||||||
const QString filePath = fi.absoluteFilePath();
|
const QString filePath = fi.absoluteFilePath();
|
||||||
bool found = false;
|
bool found = false;
|
||||||
foreach (Project *pi, SessionManager::projects()) {
|
for (Project *pi : SessionManager::projects()) {
|
||||||
if (filePath == pi->projectFilePath().toString()) {
|
if (filePath == pi->projectFilePath().toString()) {
|
||||||
alreadyOpen.append(pi);
|
alreadyOpen.append(pi);
|
||||||
found = true;
|
found = true;
|
||||||
@@ -2866,7 +2866,7 @@ void ProjectExplorerPluginPrivate::updateUnloadProjectMenu()
|
|||||||
ActionContainer *aci = ActionManager::actionContainer(Constants::M_UNLOADPROJECTS);
|
ActionContainer *aci = ActionManager::actionContainer(Constants::M_UNLOADPROJECTS);
|
||||||
QMenu *menu = aci->menu();
|
QMenu *menu = aci->menu();
|
||||||
menu->clear();
|
menu->clear();
|
||||||
foreach (Project *project, SessionManager::projects()) {
|
for (Project *project : SessionManager::projects()) {
|
||||||
QAction *action = menu->addAction(tr("Close Project \"%1\"").arg(project->displayName()));
|
QAction *action = menu->addAction(tr("Close Project \"%1\"").arg(project->displayName()));
|
||||||
connect(action, &QAction::triggered,
|
connect(action, &QAction::triggered,
|
||||||
[project] { ProjectExplorerPlugin::unloadProject(project); } );
|
[project] { ProjectExplorerPlugin::unloadProject(project); } );
|
||||||
|
@@ -296,7 +296,7 @@ void ProjectTree::updateExternalFileWarning()
|
|||||||
const QList<Project *> projects = SessionManager::projects();
|
const QList<Project *> projects = SessionManager::projects();
|
||||||
if (projects.isEmpty())
|
if (projects.isEmpty())
|
||||||
return;
|
return;
|
||||||
foreach (Project *project, projects) {
|
for (Project *project : projects) {
|
||||||
FileName projectDir = project->projectDirectory();
|
FileName projectDir = project->projectDirectory();
|
||||||
if (projectDir.isEmpty())
|
if (projectDir.isEmpty())
|
||||||
continue;
|
continue;
|
||||||
|
@@ -89,10 +89,12 @@ public:
|
|||||||
QStringList dependenciesOrder() const;
|
QStringList dependenciesOrder() const;
|
||||||
void dependencies(const QString &proName, QStringList &result) const;
|
void dependencies(const QString &proName, QStringList &result) const;
|
||||||
|
|
||||||
public:
|
|
||||||
static QString windowTitleAddition(const QString &filePath);
|
static QString windowTitleAddition(const QString &filePath);
|
||||||
static QString sessionTitle(const QString &filePath);
|
static QString sessionTitle(const QString &filePath);
|
||||||
|
|
||||||
|
bool hasProjects() const { return !m_projects.isEmpty(); }
|
||||||
|
bool hasProject(Project *p) const { return m_projects.contains(p); }
|
||||||
|
|
||||||
SessionNode m_sessionNode;
|
SessionNode m_sessionNode;
|
||||||
QString m_sessionName = QLatin1String("default");
|
QString m_sessionName = QLatin1String("default");
|
||||||
bool m_virginSession = true;
|
bool m_virginSession = true;
|
||||||
@@ -291,7 +293,7 @@ void SessionManager::setActiveTarget(Project *project, Target *target, SetActive
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Core::Id kitId = target->kit()->id();
|
Core::Id kitId = target->kit()->id();
|
||||||
foreach (Project *otherProject, SessionManager::projects()) {
|
for (Project *otherProject : SessionManager::projects()) {
|
||||||
if (otherProject == project)
|
if (otherProject == project)
|
||||||
continue;
|
continue;
|
||||||
if (Target *otherTarget = Utils::findOrDefault(otherProject->targets(),
|
if (Target *otherTarget = Utils::findOrDefault(otherProject->targets(),
|
||||||
@@ -312,7 +314,7 @@ void SessionManager::setActiveBuildConfiguration(Target *target, BuildConfigurat
|
|||||||
|
|
||||||
Core::Id kitId = target->kit()->id();
|
Core::Id kitId = target->kit()->id();
|
||||||
QString name = bc->displayName(); // We match on displayname
|
QString name = bc->displayName(); // We match on displayname
|
||||||
foreach (Project *otherProject, SessionManager::projects()) {
|
for (Project *otherProject : SessionManager::projects()) {
|
||||||
if (otherProject == target->project())
|
if (otherProject == target->project())
|
||||||
continue;
|
continue;
|
||||||
Target *otherTarget = otherProject->activeTarget();
|
Target *otherTarget = otherProject->activeTarget();
|
||||||
@@ -340,7 +342,7 @@ void SessionManager::setActiveDeployConfiguration(Target *target, DeployConfigur
|
|||||||
|
|
||||||
Core::Id kitId = target->kit()->id();
|
Core::Id kitId = target->kit()->id();
|
||||||
QString name = dc->displayName(); // We match on displayname
|
QString name = dc->displayName(); // We match on displayname
|
||||||
foreach (Project *otherProject, SessionManager::projects()) {
|
for (Project *otherProject : SessionManager::projects()) {
|
||||||
if (otherProject == target->project())
|
if (otherProject == target->project())
|
||||||
continue;
|
continue;
|
||||||
Target *otherTarget = otherProject->activeTarget();
|
Target *otherTarget = otherProject->activeTarget();
|
||||||
@@ -359,7 +361,7 @@ void SessionManager::setActiveDeployConfiguration(Target *target, DeployConfigur
|
|||||||
void SessionManager::setStartupProject(Project *startupProject)
|
void SessionManager::setStartupProject(Project *startupProject)
|
||||||
{
|
{
|
||||||
QTC_ASSERT((!startupProject)
|
QTC_ASSERT((!startupProject)
|
||||||
|| (startupProject && d->m_projects.contains(startupProject)), return);
|
|| (startupProject && hasProject(startupProject)), return);
|
||||||
|
|
||||||
if (d->m_startupProject == startupProject)
|
if (d->m_startupProject == startupProject)
|
||||||
return;
|
return;
|
||||||
@@ -378,7 +380,7 @@ void SessionManager::addProject(Project *pro)
|
|||||||
QTC_ASSERT(pro, return);
|
QTC_ASSERT(pro, return);
|
||||||
|
|
||||||
d->m_virginSession = false;
|
d->m_virginSession = false;
|
||||||
QTC_ASSERT(!d->m_projects.contains(pro), return);
|
QTC_ASSERT(!hasProject(pro), return);
|
||||||
|
|
||||||
d->m_projects.append(pro);
|
d->m_projects.append(pro);
|
||||||
d->m_sessionNode.addNode(pro->rootProjectNode());
|
d->m_sessionNode.addNode(pro->rootProjectNode());
|
||||||
@@ -436,10 +438,8 @@ bool SessionManager::save()
|
|||||||
data.insert(QLatin1String("Color"), tmp);
|
data.insert(QLatin1String("Color"), tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList projectFiles;
|
QStringList projectFiles
|
||||||
foreach (Project *pro, d->m_projects)
|
= Utils::transform(projects(), [](Project *p) { return p->projectFilePath().toString(); });
|
||||||
projectFiles << pro->projectFilePath().toString();
|
|
||||||
|
|
||||||
// Restore infromation on projects that failed to load:
|
// Restore infromation on projects that failed to load:
|
||||||
// don't readd projects to the list, which the user loaded
|
// don't readd projects to the list, which the user loaded
|
||||||
foreach (const QString &failed, d->m_failedProjects) {
|
foreach (const QString &failed, d->m_failedProjects) {
|
||||||
@@ -492,14 +492,19 @@ void SessionManager::closeAllProjects()
|
|||||||
removeProjects(projects());
|
removeProjects(projects());
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Project *> SessionManager::projects()
|
const QList<Project *> SessionManager::projects()
|
||||||
{
|
{
|
||||||
return d->m_projects;
|
return d->m_projects;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SessionManager::hasProjects()
|
bool SessionManager::hasProjects()
|
||||||
{
|
{
|
||||||
return !d->m_projects.isEmpty();
|
return d->hasProjects();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool SessionManager::hasProject(Project *p)
|
||||||
|
{
|
||||||
|
return d->hasProject(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList SessionManagerPrivate::dependencies(const QString &proName) const
|
QStringList SessionManagerPrivate::dependencies(const QString &proName) const
|
||||||
@@ -570,7 +575,7 @@ QStringList SessionManagerPrivate::dependenciesOrder() const
|
|||||||
QStringList ordered;
|
QStringList ordered;
|
||||||
|
|
||||||
// copy the map to a temporary list
|
// copy the map to a temporary list
|
||||||
foreach (Project *pro, m_projects) {
|
for (Project *pro : m_projects) {
|
||||||
const QString proName = pro->projectFilePath().toString();
|
const QString proName = pro->projectFilePath().toString();
|
||||||
unordered << QPair<QString, QStringList>(proName, m_depMap.value(proName));
|
unordered << QPair<QString, QStringList>(proName, m_depMap.value(proName));
|
||||||
}
|
}
|
||||||
@@ -608,7 +613,7 @@ QList<Project *> SessionManager::projectOrder(const Project *project)
|
|||||||
pros = d->dependenciesOrder();
|
pros = d->dependenciesOrder();
|
||||||
|
|
||||||
foreach (const QString &proFile, pros) {
|
foreach (const QString &proFile, pros) {
|
||||||
foreach (Project *pro, projects()) {
|
for (Project *pro : projects()) {
|
||||||
if (pro->projectFilePath().toString() == proFile) {
|
if (pro->projectFilePath().toString() == proFile) {
|
||||||
result << pro;
|
result << pro;
|
||||||
break;
|
break;
|
||||||
@@ -651,7 +656,7 @@ Project *SessionManager::projectForNode(Node *node)
|
|||||||
while (rootProjectNode && rootProjectNode->parentFolderNode() != &d->m_sessionNode)
|
while (rootProjectNode && rootProjectNode->parentFolderNode() != &d->m_sessionNode)
|
||||||
rootProjectNode = rootProjectNode->parentFolderNode();
|
rootProjectNode = rootProjectNode->parentFolderNode();
|
||||||
|
|
||||||
return Utils::findOrDefault(d->m_projects, Utils::equal(&Project::rootProjectNode, rootProjectNode));
|
return Utils::findOrDefault(projects(), Utils::equal(&Project::rootProjectNode, rootProjectNode));
|
||||||
}
|
}
|
||||||
|
|
||||||
Project *SessionManager::projectForFile(const Utils::FileName &fileName)
|
Project *SessionManager::projectForFile(const Utils::FileName &fileName)
|
||||||
@@ -705,7 +710,7 @@ void SessionManager::removeProjects(QList<Project *> remove)
|
|||||||
|
|
||||||
// Refresh dependencies
|
// Refresh dependencies
|
||||||
QSet<QString> projectFiles;
|
QSet<QString> projectFiles;
|
||||||
foreach (Project *pro, projects()) {
|
for (Project *pro : projects()) {
|
||||||
if (!remove.contains(pro))
|
if (!remove.contains(pro))
|
||||||
projectFiles.insert(pro->projectFilePath().toString());
|
projectFiles.insert(pro->projectFilePath().toString());
|
||||||
}
|
}
|
||||||
@@ -743,9 +748,10 @@ void SessionManager::removeProjects(QList<Project *> remove)
|
|||||||
delete pro;
|
delete pro;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!startupProject())
|
if (!startupProject()) {
|
||||||
if (!d->m_projects.isEmpty())
|
if (hasProjects())
|
||||||
setStartupProject(d->m_projects.first());
|
setStartupProject(projects().first());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -914,7 +920,7 @@ void SessionManagerPrivate::restoreStartupProject(const PersistentSettingsReader
|
|||||||
{
|
{
|
||||||
const QString startupProject = reader.restoreValue(QLatin1String("StartupProject")).toString();
|
const QString startupProject = reader.restoreValue(QLatin1String("StartupProject")).toString();
|
||||||
if (!startupProject.isEmpty()) {
|
if (!startupProject.isEmpty()) {
|
||||||
foreach (Project *pro, d->m_projects) {
|
foreach (Project *pro, m_projects) {
|
||||||
if (pro->projectFilePath().toString() == startupProject) {
|
if (pro->projectFilePath().toString() == startupProject) {
|
||||||
m_instance->setStartupProject(pro);
|
m_instance->setStartupProject(pro);
|
||||||
break;
|
break;
|
||||||
@@ -924,7 +930,7 @@ void SessionManagerPrivate::restoreStartupProject(const PersistentSettingsReader
|
|||||||
if (!m_startupProject) {
|
if (!m_startupProject) {
|
||||||
if (!startupProject.isEmpty())
|
if (!startupProject.isEmpty())
|
||||||
qWarning() << "Could not find startup project" << startupProject;
|
qWarning() << "Could not find startup project" << startupProject;
|
||||||
if (!m_projects.isEmpty())
|
if (hasProjects())
|
||||||
m_instance->setStartupProject(m_projects.first());
|
m_instance->setStartupProject(m_projects.first());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -99,8 +99,9 @@ public:
|
|||||||
static Utils::FileName sessionNameToFileName(const QString &session);
|
static Utils::FileName sessionNameToFileName(const QString &session);
|
||||||
static Project *startupProject();
|
static Project *startupProject();
|
||||||
|
|
||||||
static QList<Project *> projects();
|
static const QList<Project *> projects();
|
||||||
static bool hasProjects();
|
static bool hasProjects();
|
||||||
|
static bool hasProject(Project *p);
|
||||||
|
|
||||||
static bool isDefaultVirgin();
|
static bool isDefaultVirgin();
|
||||||
static bool isDefaultSession(const QString &session);
|
static bool isDefaultSession(const QString &session);
|
||||||
|
@@ -195,7 +195,7 @@ bool MemcheckErrorFilterProxyModel::filterAcceptsRow(int sourceRow, const QModel
|
|||||||
// ALGORITHM: look at last five stack frames, if none of these is inside any open projects,
|
// ALGORITHM: look at last five stack frames, if none of these is inside any open projects,
|
||||||
// assume this error was created by an external library
|
// assume this error was created by an external library
|
||||||
QSet<QString> validFolders;
|
QSet<QString> validFolders;
|
||||||
foreach (Project *project, SessionManager::projects()) {
|
for (Project *project : SessionManager::projects()) {
|
||||||
validFolders << project->projectDirectory().toString();
|
validFolders << project->projectDirectory().toString();
|
||||||
foreach (Target *target, project->targets()) {
|
foreach (Target *target, project->targets()) {
|
||||||
foreach (const DeployableFile &file,
|
foreach (const DeployableFile &file,
|
||||||
|
@@ -209,7 +209,7 @@ void SuppressionDialog::accept()
|
|||||||
|
|
||||||
// Add file to project if there is a project containing this file on the file system.
|
// Add file to project if there is a project containing this file on the file system.
|
||||||
if (!ProjectExplorer::SessionManager::projectForFile(Utils::FileName::fromString(path))) {
|
if (!ProjectExplorer::SessionManager::projectForFile(Utils::FileName::fromString(path))) {
|
||||||
foreach (ProjectExplorer::Project *p, ProjectExplorer::SessionManager::projects()) {
|
for (ProjectExplorer::Project *p : ProjectExplorer::SessionManager::projects()) {
|
||||||
if (path.startsWith(p->projectDirectory().toString())) {
|
if (path.startsWith(p->projectDirectory().toString())) {
|
||||||
p->rootProjectNode()->addFiles(QStringList() << path);
|
p->rootProjectNode()->addFiles(QStringList() << path);
|
||||||
break;
|
break;
|
||||||
|
@@ -1257,7 +1257,7 @@ static QTextCodec *findProjectCodec(const QString &dir)
|
|||||||
return codec;
|
return codec;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
QTextCodec *VcsBaseEditor::getCodec(const QString &source)
|
QTextCodec *VcsBaseEditor::getCodec(const QString &source)
|
||||||
|
@@ -125,7 +125,7 @@ ProjectExplorer::Project *VcsProjectCache::projectForToplevel(const Utils::FileN
|
|||||||
{
|
{
|
||||||
PathMatcher parentMatcher;
|
PathMatcher parentMatcher;
|
||||||
PathMatcher childMatcher;
|
PathMatcher childMatcher;
|
||||||
foreach (ProjectExplorer::Project *project, ProjectExplorer::SessionManager::projects()) {
|
for (ProjectExplorer::Project *project : ProjectExplorer::SessionManager::projects()) {
|
||||||
const Utils::FileName projectDir = project->projectDirectory();
|
const Utils::FileName projectDir = project->projectDirectory();
|
||||||
if (projectDir == vcsTopLevel)
|
if (projectDir == vcsTopLevel)
|
||||||
return project;
|
return project;
|
||||||
|
Reference in New Issue
Block a user