QtSupport: Replace BaseQtVersion::clone()

... by a mechanism that doesn't require re-implementation in each
derived class.

A QtVersion's type() is uniquely defined by the supported type of
the factory creating it, so that factory can be found and used
for cloning. Non-base data is copied by a fromMap(toMap()) dance
as done in the project configurations.

As a side-effect, the *QtVersion copy constructors are not used
and not needed anymore.

Change-Id: I3aa5a0fd90a27dd115769e0573647cb5669641a0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-02-18 13:02:36 +01:00
parent 2562d540f9
commit 139f700162
19 changed files with 51 additions and 105 deletions

View File

@@ -52,16 +52,6 @@ AndroidQtVersion::AndroidQtVersion()
{
}
AndroidQtVersion *AndroidQtVersion::clone() const
{
return new AndroidQtVersion(*this);
}
QString AndroidQtVersion::type() const
{
return QLatin1String(Constants::ANDROIDQT);
}
bool AndroidQtVersion::isValid() const
{
if (!BaseQtVersion::isValid())