From 3ef968097f51c4861feb3697a048e9a6cd1db414 Mon Sep 17 00:00:00 2001
From: Daniel Teske <daniel.teske@digia.com>
Date: Thu, 8 Nov 2012 17:45:47 +0100
Subject: [PATCH] BuildConfigWidget: Make displayName property instead of a
 virtual func

To make the interface the same as NamedWidget.

Change-Id: I5961b4e5aa7f5acf3a7f83e82b6fa4266b9ebf97
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 .../autotoolsbuildsettingswidget.cpp            |  6 +-----
 .../autotoolsbuildsettingswidget.h              |  2 --
 .../cmakeprojectmanager/cmakeproject.cpp        |  5 +----
 src/plugins/cmakeprojectmanager/cmakeproject.h  |  1 -
 .../genericbuildconfiguration.cpp               |  6 +-----
 .../genericbuildconfiguration.h                 |  2 --
 .../projectexplorer/buildenvironmentwidget.cpp  |  5 +----
 .../projectexplorer/buildenvironmentwidget.h    |  2 --
 src/plugins/projectexplorer/buildstep.h         | 17 ++++++++++++++++-
 src/plugins/projectexplorer/buildstepspage.cpp  | 14 +++++---------
 src/plugins/projectexplorer/buildstepspage.h    |  2 --
 .../qt4projectconfigwidget.cpp                  |  7 ++-----
 .../qt4projectmanager/qt4projectconfigwidget.h  |  2 --
 13 files changed, 27 insertions(+), 44 deletions(-)

diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildsettingswidget.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildsettingswidget.cpp
index 3d106a06149..3ce14b5e9bb 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsbuildsettingswidget.cpp
+++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildsettingswidget.cpp
@@ -64,11 +64,7 @@ AutotoolsBuildSettingsWidget::AutotoolsBuildSettingsWidget(AutotoolsBuildConfigu
 
     m_pathChooser->setBaseDirectory(bc->target()->project()->projectDirectory());
     m_pathChooser->setPath(m_buildConfiguration->buildDirectory());
-}
-
-QString AutotoolsBuildSettingsWidget::displayName() const
-{
-    return QLatin1String("Autotools Manager");
+    setDisplayName(QLatin1String("Autotools Manager"));
 }
 
 void AutotoolsBuildSettingsWidget::buildDirectoryChanged()
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildsettingswidget.h b/src/plugins/autotoolsprojectmanager/autotoolsbuildsettingswidget.h
index 8000d2ae23e..b8f4fb79290 100644
--- a/src/plugins/autotoolsprojectmanager/autotoolsbuildsettingswidget.h
+++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildsettingswidget.h
@@ -59,8 +59,6 @@ class AutotoolsBuildSettingsWidget : public ProjectExplorer::BuildConfigWidget
 public:
     AutotoolsBuildSettingsWidget(AutotoolsBuildConfiguration *bc);
 
-    QString displayName() const;
-
 private slots:
     void buildDirectoryChanged();
 
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index 937e5347667..8c08a3a25ae 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -933,11 +933,8 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc)
         m_changeButton->setEnabled(false);
     else
         m_changeButton->setEnabled(true);
-}
 
-QString CMakeBuildSettingsWidget::displayName() const
-{
-    return "CMake";
+    setDisplayName(QLatin1String("CMake"));
 }
 
 void CMakeBuildSettingsWidget::openChangeBuildDirectoryDialog()
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h
index 5aaacf99faf..392af8c3b20 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.h
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.h
@@ -229,7 +229,6 @@ class CMakeBuildSettingsWidget : public ProjectExplorer::BuildConfigWidget
     Q_OBJECT
 public:
     CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc);
-    QString displayName() const;
 
 private slots:
     void openChangeBuildDirectoryDialog();
diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
index cb9cb4bb45f..04f0952f28f 100644
--- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
+++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp
@@ -245,11 +245,7 @@ GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericBuildConfiguration
     m_buildConfiguration = bc;
     m_pathChooser->setBaseDirectory(bc->target()->project()->projectDirectory());
     m_pathChooser->setPath(m_buildConfiguration->rawBuildDirectory());
-}
-
-QString GenericBuildSettingsWidget::displayName() const
-{
-    return tr("Generic Manager");
+    setDisplayName(tr("Generic Manager"));
 }
 
 void GenericBuildSettingsWidget::buildDirectoryChanged()
diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.h b/src/plugins/genericprojectmanager/genericbuildconfiguration.h
index 6a22e31b2d2..d090bb37413 100644
--- a/src/plugins/genericprojectmanager/genericbuildconfiguration.h
+++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.h
@@ -96,8 +96,6 @@ class GenericBuildSettingsWidget : public ProjectExplorer::BuildConfigWidget
 public:
     GenericBuildSettingsWidget(GenericBuildConfiguration *bc);
 
-    QString displayName() const;
-
 private slots:
     void buildDirectoryChanged();
 
diff --git a/src/plugins/projectexplorer/buildenvironmentwidget.cpp b/src/plugins/projectexplorer/buildenvironmentwidget.cpp
index c3631713b3e..ee3ce72bd2e 100644
--- a/src/plugins/projectexplorer/buildenvironmentwidget.cpp
+++ b/src/plugins/projectexplorer/buildenvironmentwidget.cpp
@@ -65,11 +65,8 @@ BuildEnvironmentWidget::BuildEnvironmentWidget(BuildConfiguration *bc)
     m_buildEnvironmentWidget->setBaseEnvironment(m_buildConfiguration->baseEnvironment());
     m_buildEnvironmentWidget->setBaseEnvironmentText(m_buildConfiguration->baseEnvironmentText());
     m_buildEnvironmentWidget->setUserChanges(m_buildConfiguration->userEnvironmentChanges());
-}
 
-QString BuildEnvironmentWidget::displayName() const
-{
-    return tr("Build Environment");
+    setDisplayName(tr("Build Environment"));
 }
 
 void BuildEnvironmentWidget::environmentModelUserChangesChanged()
diff --git a/src/plugins/projectexplorer/buildenvironmentwidget.h b/src/plugins/projectexplorer/buildenvironmentwidget.h
index 921dc56cf87..e9cefd81ff4 100644
--- a/src/plugins/projectexplorer/buildenvironmentwidget.h
+++ b/src/plugins/projectexplorer/buildenvironmentwidget.h
@@ -48,8 +48,6 @@ class PROJECTEXPLORER_EXPORT BuildEnvironmentWidget : public BuildConfigWidget
 public:
     BuildEnvironmentWidget(BuildConfiguration *bc);
 
-    QString displayName() const;
-
 private slots:
     void environmentModelUserChangesChanged();
     void clearSystemEnvironmentCheckBoxClicked(bool checked);
diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h
index 4d5c9d6d3a2..68f7f633d07 100644
--- a/src/plugins/projectexplorer/buildstep.h
+++ b/src/plugins/projectexplorer/buildstep.h
@@ -127,10 +127,25 @@ public:
         :QWidget(0)
         {}
 
-    virtual QString displayName() const = 0;
+    QString displayName() const
+    {
+        return m_displayName;
+    }
 
 signals:
     void displayNameChanged(const QString &);
+
+protected:
+    void setDisplayName(const QString &displayName)
+    {
+        if (m_displayName == displayName)
+            return;
+        m_displayName = displayName;
+        emit displayNameChanged(m_displayName);
+    }
+
+private:
+    QString m_displayName;
 };
 
 class PROJECTEXPLORER_EXPORT BuildStepConfigWidget
diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp
index 6c3537b368b..52d760e7ff7 100644
--- a/src/plugins/projectexplorer/buildstepspage.cpp
+++ b/src/plugins/projectexplorer/buildstepspage.cpp
@@ -502,16 +502,12 @@ BuildStepsPage::BuildStepsPage(BuildConfiguration *bc, Core::Id id) :
     layout->addWidget(m_widget);
 
     m_widget->init(bc->stepList(m_id));
-}
-
-BuildStepsPage::~BuildStepsPage()
-{ }
 
-QString BuildStepsPage::displayName() const
-{
     if (m_id == Constants::BUILDSTEPS_BUILD)
-        return tr("Build Steps");
+        setDisplayName(tr("Build Steps"));
     if (m_id == Constants::BUILDSTEPS_CLEAN)
-        return tr("Clean Steps");
-    return QString();
+        setDisplayName(tr("Clean Steps"));
 }
+
+BuildStepsPage::~BuildStepsPage()
+{ }
diff --git a/src/plugins/projectexplorer/buildstepspage.h b/src/plugins/projectexplorer/buildstepspage.h
index 05d4a546f60..70d46cc41a6 100644
--- a/src/plugins/projectexplorer/buildstepspage.h
+++ b/src/plugins/projectexplorer/buildstepspage.h
@@ -159,8 +159,6 @@ public:
     BuildStepsPage(BuildConfiguration *bc, Core::Id id);
     virtual ~BuildStepsPage();
 
-    QString displayName() const;
-
 private:
     Core::Id m_id;
     BuildStepListWidget *m_widget;
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
index ad20bd8ed7b..f52739ce08a 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
@@ -107,6 +107,8 @@ Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4BuildConfiguration *bc)
     m_ui->shadowBuildDirEdit->setBaseDirectory(m_buildConfiguration->target()->project()->projectDirectory());
 
     buildDirectoryChanged();
+
+    setDisplayName(tr("General"));
 }
 
 Qt4ProjectConfigWidget::~Qt4ProjectConfigWidget()
@@ -133,11 +135,6 @@ void Qt4ProjectConfigWidget::environmentChanged()
     m_ui->shadowBuildDirEdit->setEnvironment(m_buildConfiguration->environment());
 }
 
-QString Qt4ProjectConfigWidget::displayName() const
-{
-    return tr("General");
-}
-
 void Qt4ProjectConfigWidget::buildDirectoryChanged()
 {
     if (m_ignoreChange)
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.h b/src/plugins/qt4projectmanager/qt4projectconfigwidget.h
index 934c10272ad..0c40fed346a 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.h
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.h
@@ -56,8 +56,6 @@ public:
     Qt4ProjectConfigWidget(Qt4BuildConfiguration *bc);
     ~Qt4ProjectConfigWidget();
 
-    QString displayName() const;
-
 private slots:
     // User changes in our widgets
     void shadowBuildClicked(bool checked);
-- 
GitLab