QtSupport et al: Use more data members in QtVersionFactories

Same pattern as for the project configuration factories.

Change-Id: Ia2f85eb2d787965f7a49be3bfe0be20c3f2aed8a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-02-13 19:14:09 +01:00
parent 5b03c1e059
commit d39dd1e5bd
14 changed files with 35 additions and 108 deletions

View File

@@ -39,16 +39,8 @@ AndroidQtVersionFactory::AndroidQtVersionFactory(QObject *parent)
: QtSupport::QtVersionFactory(parent)
{
setQtVersionCreator([] { return new AndroidQtVersion; });
}
bool AndroidQtVersionFactory::canRestore(const QString &type)
{
return type == QLatin1String(Constants::ANDROIDQT);
}
int AndroidQtVersionFactory::priority() const
{
return 90;
setSupportedType(Constants::ANDROIDQT);
setPriority(90);
}
QtSupport::BaseQtVersion *AndroidQtVersionFactory::create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator, bool isAutoDetected, const QString &autoDetectionSource)

View File

@@ -35,9 +35,6 @@ class AndroidQtVersionFactory : public QtSupport::QtVersionFactory
public:
explicit AndroidQtVersionFactory(QObject *parent = nullptr);
bool canRestore(const QString &type) override;
int priority() const override;
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
bool isAutoDetected = false, const QString &autoDetectionSource = QString()) override;
};

View File

@@ -38,16 +38,8 @@ IosQtVersionFactory::IosQtVersionFactory(QObject *parent)
: QtSupport::QtVersionFactory(parent)
{
setQtVersionCreator([] { return new IosQtVersion; });
}
bool IosQtVersionFactory::canRestore(const QString &type)
{
return type == QLatin1String(Constants::IOSQT);
}
int IosQtVersionFactory::priority() const
{
return 90;
setSupportedType(Constants::IOSQT);
setPriority(90);
}
QtSupport::BaseQtVersion *IosQtVersionFactory::create(const Utils::FileName &qmakePath,

View File

@@ -35,9 +35,6 @@ class IosQtVersionFactory : public QtSupport::QtVersionFactory
public:
explicit IosQtVersionFactory(QObject *parent = nullptr);
bool canRestore(const QString &type) override;
int priority() const override;
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
bool isAutoDetected = false,
const QString &autoDetectionSource = QString()) override;

View File

@@ -40,18 +40,8 @@ QnxQtVersionFactory::QnxQtVersionFactory(QObject *parent) :
QtSupport::QtVersionFactory(parent)
{
setQtVersionCreator([] { return new QnxQtVersion; });
}
QnxQtVersionFactory::~QnxQtVersionFactory() = default;
bool QnxQtVersionFactory::canRestore(const QString &type)
{
return type == QLatin1String(Constants::QNX_QNX_QT);
}
int QnxQtVersionFactory::priority() const
{
return 50;
setSupportedType(Constants::QNX_QNX_QT);
setPriority(50);
}
QtSupport::BaseQtVersion *QnxQtVersionFactory::create(const Utils::FileName &qmakePath,

View File

@@ -35,11 +35,7 @@ class QnxQtVersionFactory : public QtSupport::QtVersionFactory
Q_OBJECT
public:
explicit QnxQtVersionFactory(QObject *parent = nullptr);
~QnxQtVersionFactory() override;
bool canRestore(const QString &type) override;
int priority() const override;
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath,
ProFileEvaluator *evaluator,
bool isAutoDetected = false,

View File

@@ -36,19 +36,8 @@ DesktopQtVersionFactory::DesktopQtVersionFactory(QObject *parent)
: QtVersionFactory(parent)
{
setQtVersionCreator([] { return new DesktopQtVersion; });
}
DesktopQtVersionFactory::~DesktopQtVersionFactory() = default;
bool DesktopQtVersionFactory::canRestore(const QString &type)
{
return type == QLatin1String(Constants::DESKTOPQT);
}
int DesktopQtVersionFactory::priority() const
{
// Lowest of all, we want to be the fallback
return 0;
setSupportedType(Constants::DESKTOPQT);
setPriority(0); // Lowest of all, we want to be the fallback
}
BaseQtVersion *DesktopQtVersionFactory::create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator, bool isAutoDetected, const QString &autoDetectionSource)

View File

@@ -34,11 +34,7 @@ class DesktopQtVersionFactory : public QtVersionFactory
{
public:
explicit DesktopQtVersionFactory(QObject *parent = nullptr);
~DesktopQtVersionFactory() override;
bool canRestore(const QString &type) override;
int priority() const override;
BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
bool isAutoDetected = false, const QString &autoDetectionSource = QString()) override;
};

View File

@@ -56,6 +56,11 @@ const QList<QtVersionFactory *> QtVersionFactory::allQtVersionFactories()
return g_qtVersionFactories;
}
bool QtVersionFactory::canRestore(const QString &type)
{
return type == m_supportedType;
}
BaseQtVersion *QtVersionFactory::restore(const QString &type, const QVariantMap &data)
{
QTC_ASSERT(canRestore(type), return nullptr);
@@ -104,3 +109,13 @@ void QtVersionFactory::setQtVersionCreator(const std::function<BaseQtVersion *()
{
m_creator = creator;
}
void QtVersionFactory::setSupportedType(const QString &type)
{
m_supportedType = type;
}
void QtVersionFactory::setPriority(int priority)
{
m_priority = priority;
}

View File

@@ -51,13 +51,13 @@ public:
static const QList<QtVersionFactory *> allQtVersionFactories();
virtual bool canRestore(const QString &type) = 0;
bool canRestore(const QString &type);
BaseQtVersion *restore(const QString &type, const QVariantMap &data);
/// factories with higher priority are asked first to identify
/// a qtversion, the priority of the desktop factory is 0 and
/// the desktop factory claims to handle all paths
virtual int priority() const = 0;
int priority() const { return m_priority; }
virtual BaseQtVersion *create(const Utils::FileName &qmakePath,
ProFileEvaluator *evaluator,
bool isAutoDetected = false,
@@ -69,9 +69,13 @@ public:
protected:
void setQtVersionCreator(const std::function<BaseQtVersion *()> &creator);
void setSupportedType(const QString &type);
void setPriority(int priority);
private:
std::function<BaseQtVersion *()> m_creator;
QString m_supportedType;
int m_priority = 0;
};
} // namespace QtSupport

View File

@@ -37,18 +37,8 @@ EmbeddedLinuxQtVersionFactory::EmbeddedLinuxQtVersionFactory(QObject *parent)
: QtSupport::QtVersionFactory(parent)
{
setQtVersionCreator([] { return new EmbeddedLinuxQtVersion; });
}
EmbeddedLinuxQtVersionFactory::~EmbeddedLinuxQtVersionFactory() = default;
bool EmbeddedLinuxQtVersionFactory::canRestore(const QString &type)
{
return type == QLatin1String(RemoteLinux::Constants::EMBEDDED_LINUX_QT);
}
int EmbeddedLinuxQtVersionFactory::priority() const
{
return 10;
setSupportedType(RemoteLinux::Constants::EMBEDDED_LINUX_QT);
setPriority(10);
}
QtSupport::BaseQtVersion *EmbeddedLinuxQtVersionFactory::create(const Utils::FileName &qmakePath,

View File

@@ -34,11 +34,7 @@ class EmbeddedLinuxQtVersionFactory : public QtSupport::QtVersionFactory
{
public:
explicit EmbeddedLinuxQtVersionFactory(QObject *parent = nullptr);
~EmbeddedLinuxQtVersionFactory() override;
bool canRestore(const QString &type) override;
int priority() const override;
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
bool isAutoDetected = false,
const QString &autoDetectionSource = QString()) override;

View File

@@ -39,20 +39,8 @@ WinRtQtVersionFactory::WinRtQtVersionFactory(QObject *parent)
: QtSupport::QtVersionFactory(parent)
{
setQtVersionCreator([] { return new WinRtQtVersion; });
}
WinRtQtVersionFactory::~WinRtQtVersionFactory()
{
}
bool WinRtQtVersionFactory::canRestore(const QString &type)
{
return type == QLatin1String(Constants::WINRT_WINRTQT);
}
int WinRtQtVersionFactory::priority() const
{
return 10;
setSupportedType(Constants::WINRT_WINRTQT);
setPriority(10);
}
QtSupport::BaseQtVersion *WinRtQtVersionFactory::create(const Utils::FileName &qmakePath,
@@ -76,16 +64,8 @@ WinRtPhoneQtVersionFactory::WinRtPhoneQtVersionFactory(QObject *parent)
: QtSupport::QtVersionFactory(parent)
{
setQtVersionCreator([] { return new WinRtPhoneQtVersion; });
}
bool WinRtPhoneQtVersionFactory::canRestore(const QString &type)
{
return type == QLatin1String(Constants::WINRT_WINPHONEQT);
}
int WinRtPhoneQtVersionFactory::priority() const
{
return 10;
setSupportedType(Constants::WINRT_WINPHONEQT);
setPriority(10);
}
QtSupport::BaseQtVersion *WinRtPhoneQtVersionFactory::create(const Utils::FileName &qmakePath,

View File

@@ -34,11 +34,7 @@ class WinRtQtVersionFactory : public QtSupport::QtVersionFactory
{
public:
explicit WinRtQtVersionFactory(QObject *parent = nullptr);
~WinRtQtVersionFactory();
bool canRestore(const QString &type);
int priority() const;
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
bool isAutoDetected = false, const QString &autoDetectionSource = QString());
};
@@ -48,9 +44,6 @@ class WinRtPhoneQtVersionFactory : public QtSupport::QtVersionFactory
public:
explicit WinRtPhoneQtVersionFactory(QObject *parent = nullptr);
bool canRestore(const QString &type);
int priority() const;
QtSupport::BaseQtVersion *create(const Utils::FileName &qmakePath, ProFileEvaluator *evaluator,
bool isAutoDetected = false, const QString &autoDetectionSource = QString());
};