From d932b8535ac96ac90dd5d978053f9782af69b64f Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 5 Aug 2021 16:41:20 +0200 Subject: [PATCH] Qmake: Allow removing QMLJS from project languages E.g. when the last use of the libraries was removed from .pro files. This also makes the use more similar to the other build systems and allows making Project::{add,remove}ProjectLanguage private. Change-Id: Ib23d83f2fb5aab728b344c164a1331429b44e345 Reviewed-by: Artem Sokolovskii Reviewed-by: Christian Kandeler --- src/plugins/projectexplorer/project.h | 5 +++-- src/plugins/qmakeprojectmanager/qmakeproject.cpp | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index 7eca3cc0645..ab9b55cd47d 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -174,7 +174,6 @@ public: void setDisplayName(const QString &name); void setProjectLanguage(Utils::Id id, bool enabled); - void addProjectLanguage(Utils::Id id); void setExtraData(const QString &key, const QVariant &data); QVariant extraData(const QString &key) const; @@ -221,7 +220,6 @@ protected: void setId(Utils::Id id); void setProjectLanguages(Core::Context language); - void removeProjectLanguage(Utils::Id id); void setHasMakeInstallEquivalent(bool enabled); void setNeedsBuildConfigurations(bool value); @@ -235,6 +233,9 @@ protected: private: void addTarget(std::unique_ptr &&target); + void addProjectLanguage(Utils::Id id); + void removeProjectLanguage(Utils::Id id); + void handleSubTreeChanged(FolderNode *node); void setActiveTarget(Target *target); diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 35be824145d..b339cc07cd1 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -454,8 +454,7 @@ void QmakeBuildSystem::updateQmlJSCodeModel() // library then chances of the project being a QML project is quite high. // This assumption fails when there are no QDeclarativeEngine/QDeclarativeView (QtQuick 1) // or QQmlEngine/QQuickView (QtQuick 2) instances. - if (hasQmlLib) - project()->addProjectLanguage(ProjectExplorer::Constants::QMLJS_LANGUAGE_ID); + project()->setProjectLanguage(ProjectExplorer::Constants::QMLJS_LANGUAGE_ID, hasQmlLib); projectInfo.activeResourceFiles.removeDuplicates(); projectInfo.allResourceFiles.removeDuplicates();