From 5f9cb8fe14cbadb2fa3a3f274377a0f417d35661 Mon Sep 17 00:00:00 2001 From: con <qtc-committer@nokia.com> Date: Wed, 30 Sep 2009 18:36:31 +0200 Subject: [PATCH] Results of review. --- src/plugins/cmakeprojectmanager/cmakeproject.h | 4 +++- src/plugins/projectexplorer/buildconfiguration.cpp | 4 ---- src/plugins/projectexplorer/buildconfiguration.h | 9 ++++++--- .../projectexplorer/buildsettingspropertiespage.cpp | 1 + src/plugins/projectexplorer/project.cpp | 2 +- src/plugins/projectexplorer/project.h | 2 +- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index b34c870f78d..df456ca8f5e 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -122,7 +122,6 @@ public: ProjectExplorer::ToolChain::ToolChainType toolChainType() const; ProjectExplorer::ToolChain *toolChain(ProjectExplorer::BuildConfiguration *configuration) const; - bool parseCMakeLists(); protected: virtual void saveSettingsImpl(ProjectExplorer::PersistentSettingsWriter &writer); virtual bool restoreSettingsImpl(ProjectExplorer::PersistentSettingsReader &reader); @@ -135,6 +134,7 @@ private slots: void slotActiveBuildConfiguration(); private: + bool parseCMakeLists(); void updateToolChain(const QString &compiler); void buildTree(CMakeProjectNode *rootNode, QList<ProjectExplorer::FileNode *> list); @@ -155,6 +155,8 @@ private: ProjectExplorer::FileWatcher *m_watcher; bool m_insideFileChanged; QSet<QString> m_watchedFiles; + + friend class CMakeBuildConfigurationFactory; // for parseCMakeLists }; class CMakeCbpParser : public QXmlStreamReader diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 237198e72b8..ea2f1ebc28f 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -33,10 +33,6 @@ using namespace ProjectExplorer; -BuildConfiguration::BuildConfiguration() -{ -} - BuildConfiguration::BuildConfiguration(const QString &name) : m_name(name) { diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 06a5931cf78..306242598db 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -41,27 +41,30 @@ namespace ProjectExplorer { +class Project; + class PROJECTEXPLORER_EXPORT BuildConfiguration : public QObject { Q_OBJECT public: - explicit BuildConfiguration(); BuildConfiguration(const QString &name); BuildConfiguration(const QString &name, BuildConfiguration *source); - void setName(const QString &name); QString name() const; QString displayName() const; void setDisplayName(const QString &name); QVariant value(const QString &key) const; void setValue(const QString &key, QVariant value); + QMap<QString, QVariant> toMap() const; void setValuesFromMap(QMap<QString, QVariant> map); - private: + void setName(const QString &name); + QHash<QString, QVariant> m_values; QString m_name; + friend class Project; }; class PROJECTEXPLORER_EXPORT IBuildConfigurationFactory : public QObject diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index 5d22aaa707b..1fe4d3eee6c 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -272,6 +272,7 @@ void BuildSettingsWidget::createConfiguration() QAction *action = qobject_cast<QAction *>(sender()); const QString &type = action->data().toString(); if (m_project->buildConfigurationFactory()->create(type)) { + // TODO switching to last buildconfiguration in list might not be what we want m_buildConfiguration = m_project->buildConfigurations().last()->name(); updateBuildSettings(); } diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index 843d1ce6e12..94a9585b023 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -216,7 +216,7 @@ bool Project::restoreSettings() if (!restoreSettingsImpl(reader)) return false; - if (m_activeBuildConfiguration.isEmpty() && !m_buildConfigurations.isEmpty()) + if (m_activeBuildConfiguration.isEmpty() && !m_buildConfigurationValues.isEmpty()) setActiveBuildConfiguration(m_buildConfigurationValues.at(0)); if (!m_activeRunConfiguration && !m_runConfigurations.isEmpty()) diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index 80ea103118e..dbdd542d702 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -101,6 +101,7 @@ public: void copyBuildConfiguration(const QString &source, const QString &dest); BuildConfiguration *buildConfiguration(const QString & name) const; QList<BuildConfiguration *> buildConfigurations() const; + // remove and add "QString uniqueConfigurationDisplayName(const QString &proposedName) const" instead void setDisplayNameFor(BuildConfiguration *configuration, const QString &displayName); BuildConfiguration *activeBuildConfiguration() const; void setActiveBuildConfiguration(BuildConfiguration *configuration); @@ -184,7 +185,6 @@ protected: private: QList<BuildStep *> m_buildSteps; QList<BuildStep *> m_cleanSteps; - QStringList m_buildConfigurations; QMap<QString, QVariant> m_values; QList<BuildConfiguration *> m_buildConfigurationValues; QString m_activeBuildConfiguration; -- GitLab