From 9a0fb3431f1140e11b0e1bb7a4b508ab27894cd7 Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Wed, 30 Sep 2009 12:20:12 +0200
Subject: [PATCH] Make it possible again to create new build config for generic
 projects

---
 .../genericprojectmanager/genericproject.cpp  | 23 +++++++++++++------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp
index 4d9a87418f1..7d728056d38 100644
--- a/src/plugins/genericprojectmanager/genericproject.cpp
+++ b/src/plugins/genericprojectmanager/genericproject.cpp
@@ -48,6 +48,7 @@
 
 #include <QtGui/QFormLayout>
 #include <QtGui/QMainWindow>
+#include <QtGui/QInputDialog>
 #include <QtGui/QComboBox>
 #include <QtGui/QStringListModel>
 #include <QtGui/QListWidget>
@@ -132,13 +133,21 @@ QString GenericBuildConfigurationFactory::displayNameForType(const QString &type
 
 bool GenericBuildConfigurationFactory::create(const QString &type) const
 {
-
-// bool GenericProject::newBuildConfiguration(const QString &buildConfiguration)
-// {
-//     makeStep()->setBuildTarget(buildConfiguration, "all", true);
-//     return true;
-// }
-    return false;
+    QTC_ASSERT(type == "Create", return false);
+    //TODO asking for name is duplicated everywhere, but maybe more
+    // wizards will show up, that incorporate choosing the name
+    bool ok;
+    QString buildConfigurationName = QInputDialog::getText(0,
+                          tr("New configuration"),
+                          tr("New Configuration Name:"),
+                          QLineEdit::Normal,
+                          QString(),
+                          &ok);
+    if (!ok || buildConfigurationName.isEmpty())
+        return false;
+    BuildConfiguration *bc = new BuildConfiguration(buildConfigurationName);
+    m_project->addBuildConfiguration(bc); // also makes the name unique...
+    m_project->makeStep()->setBuildTarget(bc->name(), "all", true);
 }
 
 ////////////////////////////////////////////////////////////////////////////////////
-- 
GitLab