diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index b9ea25deab1..930060f47cc 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -637,6 +637,10 @@ void Project::setProjectLanguage(Core::Id id, bool enabled) removeProjectLanguage(id); } +void Project::projectLoaded() +{ +} + Core::Context Project::projectContext() const { return d->m_projectContext; diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index 663306137b8..aa28e8ed146 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -58,6 +58,7 @@ class ProjectPrivate; class PROJECTEXPLORER_EXPORT Project : public QObject { friend class SessionManager; // for setActiveTarget + friend class ProjectExplorerPlugin; // for projectLoaded Q_OBJECT public: @@ -177,6 +178,7 @@ protected: void addProjectLanguage(Core::Id id); void removeProjectLanguage(Core::Id id); void setProjectLanguage(Core::Id id, bool enabled); + virtual void projectLoaded(); // Called when the project is fully loaded. private: void changeEnvironment(); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index e8b5b43c969..57e51735fa6 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1637,6 +1637,7 @@ ProjectExplorerPlugin::OpenProjectResult ProjectExplorerPlugin::openProject(cons return result; dd->addToRecentProjects(fileName, project->displayName()); SessionManager::setStartupProject(project); + project->projectLoaded(); return result; } diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index cedb8bb9e76..db6efaa2e16 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -152,6 +152,11 @@ QbsRootProjectNode *QbsProject::rootProjectNode() const return static_cast(Project::rootProjectNode()); } +void QbsProject::projectLoaded() +{ + m_parsingDelay.start(0); +} + static void collectFilesForProject(const qbs::ProjectData &project, QSet &result) { result.insert(project.location().filePath()); diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h index f050a49b385..51a7bca4552 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.h +++ b/src/plugins/qbsprojectmanager/qbsproject.h @@ -135,6 +135,7 @@ private: void updateApplicationTargets(); void updateDeploymentInfo(); void updateBuildTargetData(); + void projectLoaded() override; static bool ensureWriteableQbsFile(const QString &file);