diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-03-12 16:50:39 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-03-15 14:47:18 +0000 |
commit | d4565be6557fca844dcf4bf427e0ff9c0838df50 (patch) | |
tree | ea002e07fe7f0ea29113b64ebabf03233e2813d5 /src/plugins/projectexplorer | |
parent | e80d83cb20cfd57ce9bbb059f6f5b7cb6c86d416 (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.cpp | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/kitinformation.cpp | 28 | ||||
-rw-r--r-- | src/plugins/projectexplorer/kitinformation.h | 8 | ||||
-rw-r--r-- | src/plugins/projectexplorer/kitmanager.cpp | 4 | ||||
-rw-r--r-- | src/plugins/projectexplorer/kitmanager.h | 2 |
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 |