diff options
author | hjk <hjk@qt.io> | 2019-08-28 08:55:28 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-08-30 11:13:51 +0000 |
commit | cd3876fd1af94e117ddf6dc3fb6c38cfa05a420f (patch) | |
tree | 566f65a589ae058de17a8833f927747f92682788 /src/plugins | |
parent | 8b4344f2a295db6ba0aad42148e67c62009bab79 (diff) |
ProjectExplorer: Use a ISettingsAspect::setConfigWidgetCreator() setter
Closer to the usual pattern elsewhere.
Change-Id: Ieaed483bc7f61b63e5bde87a721f43c3e3d737aa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/perfprofiler/perfsettings.cpp | 7 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runconfiguration.cpp | 10 | ||||
-rw-r--r-- | src/plugins/projectexplorer/runconfiguration.h | 9 | ||||
-rw-r--r-- | src/plugins/qmlprofiler/qmlprofilersettings.cpp | 3 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindsettings.cpp | 12 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindsettings.h | 2 |
6 files changed, 25 insertions, 18 deletions
diff --git a/src/plugins/perfprofiler/perfsettings.cpp b/src/plugins/perfprofiler/perfsettings.cpp index c4600854c59..8f7930e18be 100644 --- a/src/plugins/perfprofiler/perfsettings.cpp +++ b/src/plugins/perfprofiler/perfsettings.cpp @@ -34,13 +34,14 @@ namespace PerfProfiler { PerfSettings::PerfSettings(ProjectExplorer::Target *target) - : ISettingsAspect([this, target] { +{ + setConfigWidgetCreator([this, target] { auto widget = new Internal::PerfConfigWidget(this); widget->setTracePointsButtonVisible(target != nullptr); widget->setTarget(target); return widget; - }) -{ + }); + readGlobalSettings(); } diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index d8b18b77e2a..2aa005ad4fa 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -70,9 +70,7 @@ const char BUILD_KEY[] = "ProjectExplorer.RunConfiguration.BuildKey"; // /////////////////////////////////////////////////////////////////////// -ISettingsAspect::ISettingsAspect(const ConfigWidgetCreator &creator) - : m_configWidgetCreator(creator) -{} +ISettingsAspect::ISettingsAspect() = default; QWidget *ISettingsAspect::createConfigWidget() const { @@ -80,6 +78,12 @@ QWidget *ISettingsAspect::createConfigWidget() const return m_configWidgetCreator(); } +void ISettingsAspect::setConfigWidgetCreator(const ConfigWidgetCreator &configWidgetCreator) +{ + m_configWidgetCreator = configWidgetCreator; +} + + /////////////////////////////////////////////////////////////////////// // // IRunConfigurationAspect diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 432e6e3a7c2..9b1a223eb4b 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -61,14 +61,15 @@ class PROJECTEXPLORER_EXPORT ISettingsAspect : public QObject Q_OBJECT public: - /// Create a configuration widget for this settings aspect. - using ConfigWidgetCreator = std::function<QWidget *()>; + ISettingsAspect(); - explicit ISettingsAspect(const ConfigWidgetCreator &configWidgetCreator); + /// Create a configuration widget for this settings aspect. QWidget *createConfigWidget() const; protected: - /// + using ConfigWidgetCreator = std::function<QWidget *()>; + void setConfigWidgetCreator(const ConfigWidgetCreator &configWidgetCreator); + friend class GlobalOrProjectAspect; /// Converts current object into map for storage. virtual void toMap(QVariantMap &map) const = 0; diff --git a/src/plugins/qmlprofiler/qmlprofilersettings.cpp b/src/plugins/qmlprofiler/qmlprofilersettings.cpp index 11b2c99d9ff..ded460bead8 100644 --- a/src/plugins/qmlprofiler/qmlprofilersettings.cpp +++ b/src/plugins/qmlprofiler/qmlprofilersettings.cpp @@ -35,8 +35,9 @@ namespace QmlProfiler { namespace Internal { QmlProfilerSettings::QmlProfilerSettings() - : ProjectExplorer::ISettingsAspect([this] { return new QmlProfilerConfigWidget(this); }) { + setConfigWidgetCreator([this] { return new QmlProfilerConfigWidget(this); }); + QVariantMap defaults; defaults.insert(QLatin1String(Constants::FLUSH_INTERVAL), 1000); defaults.insert(QLatin1String(Constants::FLUSH_ENABLED), false); diff --git a/src/plugins/valgrind/valgrindsettings.cpp b/src/plugins/valgrind/valgrindsettings.cpp index 0d63b23ea8a..d4585d73b19 100644 --- a/src/plugins/valgrind/valgrindsettings.cpp +++ b/src/plugins/valgrind/valgrindsettings.cpp @@ -82,9 +82,7 @@ template <typename T> void setIfPresent(const QVariantMap &map, const QString &k *val = map.value(key).template value<T>(); } -ValgrindBaseSettings::ValgrindBaseSettings(const ConfigWidgetCreator &creator) - : ISettingsAspect(creator) -{} +ValgrindBaseSettings::ValgrindBaseSettings() = default; void ValgrindBaseSettings::fromMap(const QVariantMap &map) { @@ -304,9 +302,10 @@ void ValgrindBaseSettings::setVisualisationMinimumInclusiveCostRatio( static ValgrindGlobalSettings *theGlobalSettings = nullptr; ValgrindGlobalSettings::ValgrindGlobalSettings() - : ValgrindBaseSettings([this] { return new ValgrindConfigWidget(this, true); }) { theGlobalSettings = this; + + setConfigWidgetCreator([this] { return new ValgrindConfigWidget(this, true); }); readSettings(); } @@ -494,8 +493,9 @@ void ValgrindGlobalSettings::setShortenTemplates(bool on) ////////////////////////////////////////////////////////////////// ValgrindProjectSettings::ValgrindProjectSettings() - : ValgrindBaseSettings([this] { return new ValgrindConfigWidget(this, false); }) -{} +{ + setConfigWidgetCreator([this] { return new ValgrindConfigWidget(this, false); }); +} void ValgrindProjectSettings::fromMap(const QVariantMap &map) { diff --git a/src/plugins/valgrind/valgrindsettings.h b/src/plugins/valgrind/valgrindsettings.h index eaeda4190fa..eb7311cb125 100644 --- a/src/plugins/valgrind/valgrindsettings.h +++ b/src/plugins/valgrind/valgrindsettings.h @@ -59,7 +59,7 @@ public: LeakCheckOnFinishYes }; - ValgrindBaseSettings(const ConfigWidgetCreator &creator); + ValgrindBaseSettings(); void toMap(QVariantMap &map) const override; void fromMap(const QVariantMap &map) override; |