ProjectExplorer: Consolidate *ToolChain::target() implementations

All ToolChains had an Abi member one way or the other, so have
one in the base class and drop all others.

Change-Id: Ic4ed47b77f51c2c53d5692c66e6103c6bb23277e
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2020-11-10 14:05:58 +01:00
parent 2d561f8603
commit ba2262a870
17 changed files with 73 additions and 158 deletions

View File

@@ -69,6 +69,8 @@ public:
}
QByteArray m_id;
Abi m_targetAbi;
QString m_targetAbiKey;
QSet<Utils::Id> m_supportedLanguages;
mutable QString m_displayName;
QString m_typeDisplayName;
@@ -206,6 +208,8 @@ QVariantMap ToolChain::toMap() const
result.insert(QLatin1String(DISPLAY_NAME_KEY), displayName());
result.insert(QLatin1String(AUTODETECT_KEY), isAutoDetected());
result.insert(QLatin1String(LANGUAGE_KEY_V2), language().toSetting());
if (!d->m_targetAbiKey.isEmpty())
result.insert(d->m_targetAbiKey, d->m_targetAbi.toString());
return result;
}
@@ -234,6 +238,30 @@ QString ToolChain::typeDisplayName() const
return d->m_typeDisplayName;
}
Abi ToolChain::targetAbi() const
{
return d->m_targetAbi;
}
void ToolChain::setTargetAbi(const Abi &abi)
{
if (abi == d->m_targetAbi)
return;
d->m_targetAbi = abi;
toolChainUpdated();
}
void ToolChain::setTargetAbiNoSignal(const Abi &abi)
{
d->m_targetAbi = abi;
}
void ToolChain::setTargetAbiKey(const QString &abiKey)
{
d->m_targetAbiKey = abiKey;
}
void ToolChain::setTypeDisplayName(const QString &typeName)
{
d->m_typeDisplayName = typeName;
@@ -273,6 +301,9 @@ bool ToolChain::fromMap(const QVariantMap &data)
if (!d->m_language.isValid())
d->m_language = Utils::Id(Constants::CXX_LANGUAGE_ID);
if (!d->m_targetAbiKey.isEmpty())
d->m_targetAbi = Abi::fromString(data.value(d->m_targetAbiKey).toString());
return true;
}