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

@@ -46,16 +46,6 @@ static char SDP_PATH_KEY[] = "SDKPath";
QnxQtVersion::QnxQtVersion() = default;
QnxQtVersion *QnxQtVersion::clone() const
{
return new QnxQtVersion(*this);
}
QString QnxQtVersion::type() const
{
return QLatin1String(Constants::QNX_QNX_QT);
}
QString QnxQtVersion::description() const
{
//: Qt Version is meant for QNX