aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-03-12 16:50:39 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2019-03-15 14:47:18 +0000
commitd4565be6557fca844dcf4bf427e0ff9c0838df50 (patch)
treeea002e07fe7f0ea29113b64ebabf03233e2813d5 /src/plugins/projectexplorer
parente80d83cb20cfd57ce9bbb059f6f5b7cb6c86d416 (diff)
ProjectExplorer: Drop KitAspect::defaultValue()
The functionality of this function overlapped with KitAspect::setup(), leading to unclear responsibilities and resulting in bugs such as the one fixed by 776d54e435. Therefore, we drop the defaultValue() function, merging its implementation with setup() where applicable. Change-Id: Iefa9c3df8b76e97ddf9ad388516621f7ea6558d4 Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer')
-rw-r--r--src/plugins/projectexplorer/kit.cpp2
-rw-r--r--src/plugins/projectexplorer/kitinformation.cpp28
-rw-r--r--src/plugins/projectexplorer/kitinformation.h8
-rw-r--r--src/plugins/projectexplorer/kitmanager.cpp4
-rw-r--r--src/plugins/projectexplorer/kitmanager.h2
5 files changed, 11 insertions, 33 deletions
diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp
index cc0ca3a39f..ddc4d00c7c 100644
--- a/src/plugins/projectexplorer/kit.cpp
+++ b/src/plugins/projectexplorer/kit.cpp
@@ -137,8 +137,6 @@ public:
Kit::Kit(Id id) :
d(std::make_unique<Internal::KitPrivate>(id, this))
{
- for (KitAspect *aspect : KitManager::kitAspects())
- d->m_data.insert(aspect->id(), aspect->defaultValue(this));
}
Kit::Kit(const QVariantMap &data) :
diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp
index 7879b034b8..1453a77390 100644
--- a/src/plugins/projectexplorer/kitinformation.cpp
+++ b/src/plugins/projectexplorer/kitinformation.cpp
@@ -122,12 +122,6 @@ SysRootKitAspect::SysRootKitAspect()
setPriority(31000);
}
-QVariant SysRootKitAspect::defaultValue(const Kit *k) const
-{
- Q_UNUSED(k)
- return QString();
-}
-
QList<Task> SysRootKitAspect::validate(const Kit *k) const
{
QList<Task> result;
@@ -375,12 +369,6 @@ static QVariant defaultToolChainValue()
return result;
}
-QVariant ToolChainKitAspect::defaultValue(const Kit *k) const
-{
- Q_UNUSED(k);
- return defaultToolChainValue();
-}
-
QList<Task> ToolChainKitAspect::validate(const Kit *k) const
{
QList<Task> result;
@@ -494,7 +482,9 @@ void ToolChainKitAspect::setup(Kit *k)
QTC_ASSERT(ToolChainManager::isLoaded(), return);
QTC_ASSERT(k, return);
- const QVariantMap value = k->value(ToolChainKitAspect::id()).toMap();
+ QVariantMap value = k->value(id()).toMap();
+ if (value.empty())
+ value = defaultToolChainValue().toMap();
for (auto i = value.constBegin(); i != value.constEnd(); ++i) {
Core::Id l = findLanguage(i.key());
@@ -813,10 +803,10 @@ DeviceTypeKitAspect::DeviceTypeKitAspect()
makeEssential();
}
-QVariant DeviceTypeKitAspect::defaultValue(const Kit *k) const
+void DeviceTypeKitAspect::setup(Kit *k)
{
- Q_UNUSED(k);
- return QByteArray(Constants::DESKTOP_DEVICE_TYPE);
+ if (k)
+ k->setValue(id(), QByteArray(Constants::DESKTOP_DEVICE_TYPE));
}
QList<Task> DeviceTypeKitAspect::validate(const Kit *k) const
@@ -1244,12 +1234,6 @@ EnvironmentKitAspect::EnvironmentKitAspect()
setPriority(29000);
}
-QVariant EnvironmentKitAspect::defaultValue(const Kit *k) const
-{
- Q_UNUSED(k)
- return QStringList();
-}
-
QList<Task> EnvironmentKitAspect::validate(const Kit *k) const
{
QList<Task> result;
diff --git a/src/plugins/projectexplorer/kitinformation.h b/src/plugins/projectexplorer/kitinformation.h
index d335581231..111052fabe 100644
--- a/src/plugins/projectexplorer/kitinformation.h
+++ b/src/plugins/projectexplorer/kitinformation.h
@@ -50,7 +50,6 @@ class PROJECTEXPLORER_EXPORT SysRootKitAspect : public KitAspect
public:
SysRootKitAspect();
- QVariant defaultValue(const Kit *k) const override;
QList<Task> validate(const Kit *k) const override;
KitAspectWidget *createConfigWidget(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
@@ -72,7 +71,6 @@ class PROJECTEXPLORER_EXPORT ToolChainKitAspect : public KitAspect
public:
ToolChainKitAspect();
- QVariant defaultValue(const Kit *k) const override;
QList<Task> validate(const Kit *k) const override;
void upgrade(Kit *k) override;
void fix(Kit *k) override;
@@ -117,7 +115,7 @@ class PROJECTEXPLORER_EXPORT DeviceTypeKitAspect : public KitAspect
public:
DeviceTypeKitAspect();
- QVariant defaultValue(const Kit *k) const override;
+ void setup(Kit *k);
QList<Task> validate(const Kit *k) const override;
KitAspectWidget *createConfigWidget(Kit *k) const override;
ItemList toUserOutput(const Kit *k) const override;
@@ -141,7 +139,6 @@ class PROJECTEXPLORER_EXPORT DeviceKitAspect : public KitAspect
public:
DeviceKitAspect();
- QVariant defaultValue(const Kit *k) const override;
QList<Task> validate(const Kit *k) const override;
void fix(Kit *k) override;
void setup(Kit *k) override;
@@ -161,6 +158,8 @@ public:
static void setDeviceId(Kit *k, Core::Id dataId);
private:
+ QVariant defaultValue(const Kit *k) const;
+
void kitsWereLoaded();
void deviceUpdated(Core::Id dataId);
void devicesChanged();
@@ -178,7 +177,6 @@ class PROJECTEXPLORER_EXPORT EnvironmentKitAspect : public KitAspect
public:
EnvironmentKitAspect();
- QVariant defaultValue(const Kit *k) const override;
QList<Task> validate(const Kit *k) const override;
void fix(Kit *k) override;
diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp
index 07aa313fcc..388635172e 100644
--- a/src/plugins/projectexplorer/kitmanager.cpp
+++ b/src/plugins/projectexplorer/kitmanager.cpp
@@ -250,7 +250,7 @@ void KitManager::registerKitAspect(std::unique_ptr<KitAspect> &&ki)
foreach (Kit *k, kits()) {
if (!k->hasValue(ki->id()))
- k->setValue(ki->id(), ki->defaultValue(k));
+ ki->setup(k);
else
ki->fix(k);
}
@@ -452,7 +452,7 @@ void KitManager::completeKit(Kit *k)
for (const std::unique_ptr<KitAspect> &ki : d->m_informationList) {
ki->upgrade(k);
if (!k->hasValue(ki->id()))
- k->setValue(ki->id(), ki->defaultValue(k));
+ ki->setup(k);
else
ki->fix(k);
}
diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h
index 2e5af3ac5e..c771980048 100644
--- a/src/plugins/projectexplorer/kitmanager.h
+++ b/src/plugins/projectexplorer/kitmanager.h
@@ -79,8 +79,6 @@ public:
QString description() const { return m_description; }
bool isEssential() const { return m_essential; }
- virtual QVariant defaultValue(const Kit *) const = 0;
-
// called to find issues with the kit
virtual QList<Task> validate(const Kit *) const = 0;
// called after restoring a kit, so upgrading of kit information settings can be done