From d39dd1e5bd03ae67d2a079186ce85424c5247816 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 13 Feb 2019 19:14:09 +0100 Subject: QtSupport et al: Use more data members in QtVersionFactories Same pattern as for the project configuration factories. Change-Id: Ia2f85eb2d787965f7a49be3bfe0be20c3f2aed8a Reviewed-by: Christian Kandeler --- src/plugins/android/androidqtversionfactory.cpp | 12 ++-------- src/plugins/android/androidqtversionfactory.h | 3 --- src/plugins/ios/iosqtversionfactory.cpp | 12 ++-------- src/plugins/ios/iosqtversionfactory.h | 3 --- src/plugins/qnx/qnxqtversionfactory.cpp | 14 ++--------- src/plugins/qnx/qnxqtversionfactory.h | 4 ---- src/plugins/qtsupport/desktopqtversionfactory.cpp | 15 ++---------- src/plugins/qtsupport/desktopqtversionfactory.h | 4 ---- src/plugins/qtsupport/qtversionfactory.cpp | 15 ++++++++++++ src/plugins/qtsupport/qtversionfactory.h | 8 +++++-- .../remotelinux/embeddedlinuxqtversionfactory.cpp | 14 ++--------- .../remotelinux/embeddedlinuxqtversionfactory.h | 4 ---- src/plugins/winrt/winrtqtversionfactory.cpp | 28 ++++------------------ src/plugins/winrt/winrtqtversionfactory.h | 7 ------ 14 files changed, 35 insertions(+), 108 deletions(-) diff --git a/src/plugins/android/androidqtversionfactory.cpp b/src/plugins/android/androidqtversionfactory.cpp index 1b56247ad1..13c62be36b 100644 --- a/src/plugins/android/androidqtversionfactory.cpp +++ b/src/plugins/android/androidqtversionfactory.cpp @@ -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) diff --git a/src/plugins/android/androidqtversionfactory.h b/src/plugins/android/androidqtversionfactory.h index e0a5bfd31b..47e6ec9e14 100644 --- a/src/plugins/android/androidqtversionfactory.h +++ b/src/plugins/android/androidqtversionfactory.h @@ -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; }; diff --git a/src/plugins/ios/iosqtversionfactory.cpp b/src/plugins/ios/iosqtversionfactory.cpp index 1171c9b211..14dc851dbd 100644 --- a/src/plugins/ios/iosqtversionfactory.cpp +++ b/src/plugins/ios/iosqtversionfactory.cpp @@ -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, diff --git a/src/plugins/ios/iosqtversionfactory.h b/src/plugins/ios/iosqtversionfactory.h index dc81deac44..1e00360817 100644 --- a/src/plugins/ios/iosqtversionfactory.h +++ b/src/plugins/ios/iosqtversionfactory.h @@ -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; diff --git a/src/plugins/qnx/qnxqtversionfactory.cpp b/src/plugins/qnx/qnxqtversionfactory.cpp index c4c7cb8f4f..96e582bf34 100644 --- a/src/plugins/qnx/qnxqtversionfactory.cpp +++ b/src/plugins/qnx/qnxqtversionfactory.cpp @@ -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, diff --git a/src/plugins/qnx/qnxqtversionfactory.h b/src/plugins/qnx/qnxqtversionfactory.h index 8d47c053f2..382f46dc50 100644 --- a/src/plugins/qnx/qnxqtversionfactory.h +++ b/src/plugins/qnx/qnxqtversionfactory.h @@ -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, diff --git a/src/plugins/qtsupport/desktopqtversionfactory.cpp b/src/plugins/qtsupport/desktopqtversionfactory.cpp index 893e90c836..4d3504083d 100644 --- a/src/plugins/qtsupport/desktopqtversionfactory.cpp +++ b/src/plugins/qtsupport/desktopqtversionfactory.cpp @@ -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) diff --git a/src/plugins/qtsupport/desktopqtversionfactory.h b/src/plugins/qtsupport/desktopqtversionfactory.h index aa8620f938..60de0d5a3d 100644 --- a/src/plugins/qtsupport/desktopqtversionfactory.h +++ b/src/plugins/qtsupport/desktopqtversionfactory.h @@ -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; }; diff --git a/src/plugins/qtsupport/qtversionfactory.cpp b/src/plugins/qtsupport/qtversionfactory.cpp index 9a5147baba..e84c9356b8 100644 --- a/src/plugins/qtsupport/qtversionfactory.cpp +++ b/src/plugins/qtsupport/qtversionfactory.cpp @@ -56,6 +56,11 @@ const QList 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 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 &creator); + void setSupportedType(const QString &type); + void setPriority(int priority); private: std::function m_creator; + QString m_supportedType; + int m_priority = 0; }; } // namespace QtSupport diff --git a/src/plugins/remotelinux/embeddedlinuxqtversionfactory.cpp b/src/plugins/remotelinux/embeddedlinuxqtversionfactory.cpp index 5048b581f2..44cd8eddde 100644 --- a/src/plugins/remotelinux/embeddedlinuxqtversionfactory.cpp +++ b/src/plugins/remotelinux/embeddedlinuxqtversionfactory.cpp @@ -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, diff --git a/src/plugins/remotelinux/embeddedlinuxqtversionfactory.h b/src/plugins/remotelinux/embeddedlinuxqtversionfactory.h index cde6960acf..54b6f58946 100644 --- a/src/plugins/remotelinux/embeddedlinuxqtversionfactory.h +++ b/src/plugins/remotelinux/embeddedlinuxqtversionfactory.h @@ -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; diff --git a/src/plugins/winrt/winrtqtversionfactory.cpp b/src/plugins/winrt/winrtqtversionfactory.cpp index b6ceb5fddf..9fb10fca40 100644 --- a/src/plugins/winrt/winrtqtversionfactory.cpp +++ b/src/plugins/winrt/winrtqtversionfactory.cpp @@ -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, diff --git a/src/plugins/winrt/winrtqtversionfactory.h b/src/plugins/winrt/winrtqtversionfactory.h index 9d44309622..886738fab0 100644 --- a/src/plugins/winrt/winrtqtversionfactory.h +++ b/src/plugins/winrt/winrtqtversionfactory.h @@ -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()); }; -- cgit v1.2.1