From cc4e0e3ad129b64b7c9ed06827d789bb129bf527 Mon Sep 17 00:00:00 2001
From: dt <qtc-commiter@nokia.com>
Date: Mon, 12 Jan 2009 15:29:05 +0100
Subject: [PATCH] Fixes:    Correctly restore BuildSteps and add configuration
 options to the cmakestep.

Details:  Forgot to add the factories, also the configuration options for the cmakestep don't work atm.
---
 .../cmakeprojectmanager/cmakeprojectplugin.cpp      |  4 ++++
 src/plugins/cmakeprojectmanager/cmakestep.cpp       | 13 ++++++++++++-
 src/plugins/cmakeprojectmanager/cmakestep.h         |  6 ++++++
 src/plugins/cmakeprojectmanager/makestep.cpp        |  2 +-
 4 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectplugin.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectplugin.cpp
index d38cb56c145..1c4a44710de 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectplugin.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectplugin.cpp
@@ -34,6 +34,8 @@
 #include "cmakeprojectplugin.h"
 #include "cmakeprojectmanager.h"
 #include "cmakerunconfiguration.h"
+#include "cmakestep.h"
+#include "makestep.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/mimedatabase.h>
@@ -58,6 +60,8 @@ bool CMakeProjectPlugin::initialize(const QStringList & /*arguments*/, QString *
     if (!core->mimeDatabase()->addMimeTypes(QLatin1String(":cmakeproject/CMakeProject.mimetypes.xml"), errorMessage))
         return false;
     addAutoReleasedObject(new CMakeManager());
+    addAutoReleasedObject(new CMakeBuildStepFactory());
+    addAutoReleasedObject(new MakeBuildStepFactory());
     addAutoReleasedObject(new CMakeRunConfigurationFactory());
     return true;
 }
diff --git a/src/plugins/cmakeprojectmanager/cmakestep.cpp b/src/plugins/cmakeprojectmanager/cmakestep.cpp
index c286712c914..9ed0a67f358 100644
--- a/src/plugins/cmakeprojectmanager/cmakestep.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakestep.cpp
@@ -37,6 +37,8 @@
 #include "cmakeprojectconstants.h"
 
 #include <utils/qtcassert.h>
+#include <QtGui/QFormLayout>
+#include <QtGui/QLineEdit>
 
 using namespace CMakeProjectManager;
 using namespace CMakeProjectManager::Internal;
@@ -83,7 +85,7 @@ QString CMakeStep::displayName()
 
 ProjectExplorer::BuildStepConfigWidget *CMakeStep::createConfigWidget()
 {
-    return new CMakeBuildStepConfigWidget();
+    return new CMakeBuildStepConfigWidget(this);
 }
 
 bool CMakeStep::immutable() const
@@ -95,6 +97,15 @@ bool CMakeStep::immutable() const
 // CMakeBuildStepConfigWidget
 //
 
+CMakeBuildStepConfigWidget::CMakeBuildStepConfigWidget(CMakeStep *cmakeStep)
+    : m_cmakeStep(cmakeStep)
+{
+    QFormLayout *fl = new QFormLayout(this);
+    setLayout(fl);
+    m_arguments = new QLineEdit(this);
+    fl->addRow("Additional arguments", m_arguments);
+}
+
 QString CMakeBuildStepConfigWidget::displayName() const
 {
     return "CMake";
diff --git a/src/plugins/cmakeprojectmanager/cmakestep.h b/src/plugins/cmakeprojectmanager/cmakestep.h
index 44f9bf7f601..ec7c9cf9ad4 100644
--- a/src/plugins/cmakeprojectmanager/cmakestep.h
+++ b/src/plugins/cmakeprojectmanager/cmakestep.h
@@ -37,6 +37,8 @@
 #include <projectexplorer/buildstep.h>
 #include <projectexplorer/abstractprocessstep.h>
 
+class QLineEdit;
+
 namespace CMakeProjectManager {
 namespace Internal {
 
@@ -65,8 +67,12 @@ private:
 class CMakeBuildStepConfigWidget :public ProjectExplorer::BuildStepConfigWidget
 {
 public:
+    CMakeBuildStepConfigWidget(CMakeStep *cmakeStep);
     virtual QString displayName() const;
     virtual void init(const QString &buildConfiguration);
+private:
+    CMakeStep *m_cmakeStep;
+    QLineEdit *m_arguments;
 };
 
 class CMakeBuildStepFactory : public ProjectExplorer::IBuildStepFactory
diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp
index ef956f38eea..279e9e75485 100644
--- a/src/plugins/cmakeprojectmanager/makestep.cpp
+++ b/src/plugins/cmakeprojectmanager/makestep.cpp
@@ -71,7 +71,7 @@ void MakeStep::run(QFutureInterface<bool> &fi)
 
 QString MakeStep::name()
 {
-    return Constants::CMAKESTEP;
+    return Constants::MAKESTEP;
 }
 
 QString MakeStep::displayName()
-- 
GitLab