aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2019-08-28 08:55:28 +0200
committerhjk <hjk@qt.io>2019-08-30 11:13:51 +0000
commitcd3876fd1af94e117ddf6dc3fb6c38cfa05a420f (patch)
tree566f65a589ae058de17a8833f927747f92682788 /src/plugins
parent8b4344f2a295db6ba0aad42148e67c62009bab79 (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.cpp7
-rw-r--r--src/plugins/projectexplorer/runconfiguration.cpp10
-rw-r--r--src/plugins/projectexplorer/runconfiguration.h9
-rw-r--r--src/plugins/qmlprofiler/qmlprofilersettings.cpp3
-rw-r--r--src/plugins/valgrind/valgrindsettings.cpp12
-rw-r--r--src/plugins/valgrind/valgrindsettings.h2
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;