aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2018-04-19 13:30:15 +0200
committerTobias Hunger <tobias.hunger@qt.io>2018-04-19 13:21:52 +0000
commit2a34f2177cfd07f1c3dc20485f9f3938cc2e35bd (patch)
tree98da139c94e3e5f0e4ab2ee17849cda0a58061e6
parent460fdc02e058100baabdc5cdb658bbb9790a46ca (diff)
ProjectExplorer: Hide build page for projects that do not build
Change-Id: I56feaab67690b5ece7379a9c1f676392230de107 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r--src/plugins/projectexplorer/project.cpp8
-rw-r--r--src/plugins/projectexplorer/project.h1
-rw-r--r--src/plugins/projectexplorer/targetsettingspanel.cpp3
-rw-r--r--src/plugins/pythoneditor/pythoneditorplugin.cpp1
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.cpp12
-rw-r--r--src/plugins/qmlprojectmanager/qmlproject.h3
6 files changed, 18 insertions, 10 deletions
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index 14e47cba43..c70202d39e 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -452,7 +452,8 @@ bool Project::copySteps(Target *sourceTarget, Target *newTarget)
bool Project::setupTarget(Target *t)
{
- t->updateDefaultBuildConfigurations();
+ if (needsBuildConfigurations())
+ t->updateDefaultBuildConfigurations();
t->updateDefaultDeployConfigurations();
t->updateDefaultRunConfigurations();
return true;
@@ -798,6 +799,11 @@ bool Project::needsConfiguration() const
return d->m_targets.isEmpty();
}
+bool Project::needsBuildConfigurations() const
+{
+ return true;
+}
+
void Project::configureAsExampleProject(const QSet<Core::Id> &platforms)
{
Q_UNUSED(platforms);
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index 8400ea6975..b51a44abae 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -150,6 +150,7 @@ public:
void setNamedSettings(const QString &name, const QVariant &value);
virtual bool needsConfiguration() const;
+ virtual bool needsBuildConfigurations() const;
virtual void configureAsExampleProject(const QSet<Core::Id> &platforms);
virtual ProjectImporter *projectImporter() const;
diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp
index b14d574e85..88ba9e2f0b 100644
--- a/src/plugins/projectexplorer/targetsettingspanel.cpp
+++ b/src/plugins/projectexplorer/targetsettingspanel.cpp
@@ -805,7 +805,8 @@ void TargetItem::updateSubItems()
m_currentChild = DefaultPage; // We will add children below.
removeChildren();
if (isEnabled()) {
- appendChild(new BuildOrRunItem(m_project, m_kitId, BuildOrRunItem::BuildPage));
+ if (m_project->needsBuildConfigurations())
+ appendChild(new BuildOrRunItem(m_project, m_kitId, BuildOrRunItem::BuildPage));
appendChild(new BuildOrRunItem(m_project, m_kitId, BuildOrRunItem::RunPage));
}
}
diff --git a/src/plugins/pythoneditor/pythoneditorplugin.cpp b/src/plugins/pythoneditor/pythoneditorplugin.cpp
index 5518d81df1..c579b8526a 100644
--- a/src/plugins/pythoneditor/pythoneditorplugin.cpp
+++ b/src/plugins/pythoneditor/pythoneditorplugin.cpp
@@ -98,6 +98,7 @@ public:
void refresh(Target *target = nullptr);
bool needsConfiguration() const final { return false; }
+ bool needsBuildConfigurations() const final { return false; }
private:
RestoreResult fromMap(const QVariantMap &map, QString *errorMessage) override;
diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 47bc18e0fe..d0dd28e0cf 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -247,6 +247,11 @@ void QmlProject::refreshProjectFile()
refresh(QmlProject::ProjectFile | Files);
}
+bool QmlProject::needsBuildConfigurations() const
+{
+ return false;
+}
+
QStringList QmlProject::makeAbsolute(const Utils::FileName &path, const QStringList &relativePaths)
{
if (path.isEmpty())
@@ -349,13 +354,6 @@ Project::RestoreResult QmlProject::fromMap(const QVariantMap &map, QString *erro
return RestoreResult::Ok;
}
-bool QmlProject::setupTarget(Target *target)
-{
- target->updateDefaultDeployConfigurations();
- target->updateDefaultRunConfigurations();
- return true;
-}
-
void QmlProject::generateProjectTree()
{
if (!m_projectItem)
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index 075bd77a44..c65b4803ac 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -75,10 +75,11 @@ public:
void refreshProjectFile();
+ bool needsBuildConfigurations() const final;
+
static QStringList makeAbsolute(const Utils::FileName &path, const QStringList &relativePaths);
protected:
RestoreResult fromMap(const QVariantMap &map, QString *errorMessage) override;
- bool setupTarget(ProjectExplorer::Target *t) override;
private:
void generateProjectTree();