diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index c4f423d3cbcefaa920d79bf62229c3f82285e460..8b29c91f8370aeea8f0b226427b8fe4d8f719130 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -114,6 +114,7 @@ void CMakeProject::slotActiveBuildConfiguration() void CMakeProject::fileChanged(const QString &fileName) { + Q_UNUSED(fileName) if (m_insideFileChanged== true) return; m_insideFileChanged = true; @@ -537,7 +538,7 @@ QList<ProjectExplorer::BuildConfigWidget*> CMakeProject::subConfigWidgets() return list; } - void CMakeProject::newBuildConfiguration(const QString &buildConfiguration) + bool CMakeProject::newBuildConfiguration(const QString &buildConfiguration) { // Default to all if (targets().contains("all")) @@ -548,7 +549,9 @@ QList<ProjectExplorer::BuildConfigWidget*> CMakeProject::subConfigWidgets() setValue(buildConfiguration, "buildDirectory", copw.buildDirectory()); setValue(buildConfiguration, "msvcVersion", copw.msvcVersion()); parseCMakeLists(); + return true; } + return false; } ProjectExplorer::ProjectNode *CMakeProject::rootProjectNode() const diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index f267b95a818fba3a82f33999e1cf5d09b3af0ee5..c9bbbfb903e5c175ffaf45650b5bf50a6e09b9f2 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -94,7 +94,7 @@ public: // This method is called for new build configurations // You should probably set some default values in this method - virtual void newBuildConfiguration(const QString &buildConfiguration); + virtual bool newBuildConfiguration(const QString &buildConfiguration); virtual ProjectExplorer::ProjectNode *rootProjectNode() const; diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index d012914dd906b502dc4c51f82b00b28a3cefe4b2..71a785493927bb394f44f9e6f8354092c35057ff 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -437,9 +437,10 @@ QList<ProjectExplorer::BuildConfigWidget*> GenericProject::subConfigWidgets() return QList<ProjectExplorer::BuildConfigWidget*>(); } - void GenericProject::newBuildConfiguration(const QString &buildConfiguration) + bool GenericProject::newBuildConfiguration(const QString &buildConfiguration) { makeStep()->setBuildTarget(buildConfiguration, "all", true); + return true; } GenericProjectNode *GenericProject::rootProjectNode() const diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h index 686ea7b9dd024731662d59657de178669d628026..8ca62c83c5b76b80ed02f929b1d3ff231571055d 100644 --- a/src/plugins/genericprojectmanager/genericproject.h +++ b/src/plugins/genericprojectmanager/genericproject.h @@ -82,7 +82,7 @@ public: virtual ProjectExplorer::BuildConfigWidget *createConfigWidget(); virtual QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets(); - virtual void newBuildConfiguration(const QString &buildConfiguration); + virtual bool newBuildConfiguration(const QString &buildConfiguration); virtual GenericProjectNode *rootProjectNode() const; virtual QStringList files(FilesMode fileMode) const; diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index 67e2cea81394ff81935c7bd1805ef6516fd9f3d7..3fd4c8999ac7e0b8e68b5dcebc7d5b3c667410e6 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -282,12 +282,13 @@ void BuildSettingsWidget::createConfiguration() newDisplayName += QString::number(i); } - m_project->addBuildConfiguration(newBuildConfiguration); - m_project->setDisplayNameFor(newBuildConfiguration, newDisplayName); - m_project->newBuildConfiguration(newBuildConfiguration); - m_buildConfiguration = newBuildConfiguration; + if (m_project->newBuildConfiguration(newBuildConfiguration)) { + m_project->addBuildConfiguration(newBuildConfiguration); + m_project->setDisplayNameFor(newBuildConfiguration, newDisplayName); + m_buildConfiguration = newBuildConfiguration; - updateBuildSettings(); + updateBuildSettings(); + } } void BuildSettingsWidget::cloneConfiguration() diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index ad36023c2d8a8a1684611b8023b19d99d3362be2..456646c970d6a778b2fa4dcabdb16c95218ea883 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -132,7 +132,7 @@ public: /* This method is called for new build configurations. You should probably * set some default values in this method. */ - virtual void newBuildConfiguration(const QString &buildConfiguration) = 0; + virtual bool newBuildConfiguration(const QString &buildConfiguration) = 0; virtual ProjectNode *rootProjectNode() const = 0; diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index 2d61bd50366153855ede723cdc2b2cc4c37201cb..99fe21c147f91fe6e605dd5d41906509941257b7 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -214,8 +214,9 @@ QList<ProjectExplorer::BuildConfigWidget*> QmlProject::subConfigWidgets() return QList<ProjectExplorer::BuildConfigWidget*>(); } -void QmlProject::newBuildConfiguration(const QString &) +bool QmlProject::newBuildConfiguration(const QString &) { + return true; } QmlProjectNode *QmlProject::rootProjectNode() const diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h index 08e1164717f1e02859ececd45ad346f31b5d77cd..df24dbfb3821000cca821be2f0c4adc815b385df 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.h +++ b/src/plugins/qmlprojectmanager/qmlproject.h @@ -76,7 +76,7 @@ public: virtual ProjectExplorer::BuildConfigWidget *createConfigWidget(); virtual QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets(); - virtual void newBuildConfiguration(const QString &buildConfiguration); + virtual bool newBuildConfiguration(const QString &buildConfiguration); virtual QmlProjectNode *rootProjectNode() const; virtual QStringList files(FilesMode fileMode) const; diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index fe7543dfc925074e66d6a594aa03e14c30899e3c..6a3164f5ba5cdd5a2d7cfd1e68bde508f6c62f47 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -759,9 +759,10 @@ void Qt4Project::addDefaultBuild() } } -void Qt4Project::newBuildConfiguration(const QString &buildConfiguration) +bool Qt4Project::newBuildConfiguration(const QString &buildConfiguration) { Q_UNUSED(buildConfiguration) + return true; } void Qt4Project::proFileParseError(const QString &errorMessage) diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h index 75efbc885842bbc250b6dd3ca80377d3ca37aa52..5232d3e6c79ef8908348486c3a2d02ddba6ef7f5 100644 --- a/src/plugins/qt4projectmanager/qt4project.h +++ b/src/plugins/qt4projectmanager/qt4project.h @@ -170,7 +170,7 @@ public: QList<ProjectExplorer::BuildConfigWidget*> subConfigWidgets(); void setQtVersion(const QString &buildConfiguration, int id); - virtual void newBuildConfiguration(const QString &buildConfiguration); + virtual bool newBuildConfiguration(const QString &buildConfiguration); QList<Internal::Qt4ProFileNode *> applicationProFiles() const;