diff --git a/src/plugins/qtsupport/qscxmlcgenerator.cpp b/src/plugins/qtsupport/qscxmlcgenerator.cpp index e345488e95a..8aa1c0198fd 100644 --- a/src/plugins/qtsupport/qscxmlcgenerator.cpp +++ b/src/plugins/qtsupport/qscxmlcgenerator.cpp @@ -5,6 +5,8 @@ #include #include + +#include #include #include @@ -16,7 +18,7 @@ using namespace ProjectExplorer; using namespace Utils; -namespace QtSupport { +namespace QtSupport::Internal { static QLoggingCategory log("qtc.qscxmlcgenerator", QtWarningMsg); @@ -85,12 +87,9 @@ Tasks QScxmlcGenerator::parseIssues(const QByteArray &processStderr) FilePath QScxmlcGenerator::command() const { - QtSupport::QtVersion *version = nullptr; - Target *target; - if ((target = project()->activeTarget())) - version = QtSupport::QtKitAspect::qtVersion(target->kit()); - else - version = QtSupport::QtKitAspect::qtVersion(KitManager::defaultKit()); + Target *target = project()->activeTarget(); + Kit *kit = target ? target->kit() : KitManager::defaultKit(); + QtVersion *version = QtKitAspect::qtVersion(kit); if (!version) return {}; @@ -125,21 +124,28 @@ FileNameToContentsHash QScxmlcGenerator::handleProcessFinished(Process *process) return result; } -FileType QScxmlcGeneratorFactory::sourceType() const +// QScxmlcGeneratorFactory + +class QScxmlcGeneratorFactory final : public ExtraCompilerFactory { - return FileType::StateChart; +public: + QScxmlcGeneratorFactory() = default; + + FileType sourceType() const final { return FileType::StateChart; } + + QString sourceTag() const final { return QStringLiteral("scxml"); } + + ExtraCompiler *create(const Project *project, + const FilePath &source, + const FilePaths &targets) final + { + return new QScxmlcGenerator(project, source, targets, this); + } +}; + +void setupQScxmlcGenerator() +{ + static QScxmlcGeneratorFactory theQScxmlcGeneratorFactory; } -QString QScxmlcGeneratorFactory::sourceTag() const -{ - return QStringLiteral("scxml"); -} - -ExtraCompiler *QScxmlcGeneratorFactory::create( - const Project *project, const FilePath &source, - const FilePaths &targets) -{ - return new QScxmlcGenerator(project, source, targets, this); -} - -} // namespace QtSupport +} // QtSupport::Internal diff --git a/src/plugins/qtsupport/qscxmlcgenerator.h b/src/plugins/qtsupport/qscxmlcgenerator.h index 9bfe8591033..811f485689d 100644 --- a/src/plugins/qtsupport/qscxmlcgenerator.h +++ b/src/plugins/qtsupport/qscxmlcgenerator.h @@ -3,24 +3,8 @@ #pragma once -#include +namespace QtSupport::Internal { -#include +void setupQScxmlcGenerator(); -namespace QtSupport { - -class QScxmlcGeneratorFactory : public ProjectExplorer::ExtraCompilerFactory -{ -public: - QScxmlcGeneratorFactory() = default; - - ProjectExplorer::FileType sourceType() const override; - - QString sourceTag() const override; - - ProjectExplorer::ExtraCompiler *create(const ProjectExplorer::Project *project, - const Utils::FilePath &source, - const Utils::FilePaths &targets) override; -}; - -} // QtSupport +} // QtSupport::Internal diff --git a/src/plugins/qtsupport/qtsupportplugin.cpp b/src/plugins/qtsupport/qtsupportplugin.cpp index cd815c63e33..c69faf4a5d9 100644 --- a/src/plugins/qtsupport/qtsupportplugin.cpp +++ b/src/plugins/qtsupport/qtsupportplugin.cpp @@ -48,9 +48,6 @@ namespace QtSupport::Internal { class QtSupportPluginPrivate { public: - UicGeneratorFactory uicGeneratorFactory; - QScxmlcGeneratorFactory qscxmlcGeneratorFactory; - DesignerExternalEditor designerEditor; LinguistEditor linguistEditor; @@ -109,6 +106,8 @@ void QtSupportPlugin::initialize() setupGettingStartedWelcomePage(); setupQtSettingsPage(); setupQtOutputFormatter(); + setupUicGenerator(); + setupQScxmlcGenerator(); theProcessRunner() = processRunnerCallback; diff --git a/src/plugins/qtsupport/uicgenerator.cpp b/src/plugins/qtsupport/uicgenerator.cpp index 840bc585645..dee12b9f9c9 100644 --- a/src/plugins/qtsupport/uicgenerator.cpp +++ b/src/plugins/qtsupport/uicgenerator.cpp @@ -7,6 +7,7 @@ #include "qtkitaspect.h" #include +#include #include #include @@ -19,7 +20,7 @@ using namespace ProjectExplorer; using namespace Utils; -namespace QtSupport { +namespace QtSupport::Internal { class UicGenerator final : public ProcessExtraCompiler { @@ -32,19 +33,16 @@ public: } protected: - FilePath command() const override; - QStringList arguments() const override { return {"-p"}; } - FileNameToContentsHash handleProcessFinished(Process *process) override; + FilePath command() const final; + QStringList arguments() const final { return {"-p"}; } + FileNameToContentsHash handleProcessFinished(Process *process) final; }; FilePath UicGenerator::command() const { - QtSupport::QtVersion *version = nullptr; - Target *target; - if ((target = project()->activeTarget())) - version = QtSupport::QtKitAspect::qtVersion(target->kit()); - else - version = QtSupport::QtKitAspect::qtVersion(KitManager::defaultKit()); + Target *target = project()->activeTarget(); + Kit *kit = target ? target->kit() : KitManager::defaultKit(); + QtVersion *version = QtKitAspect::qtVersion(kit); if (!version) return {}; @@ -69,21 +67,28 @@ FileNameToContentsHash UicGenerator::handleProcessFinished(Process *process) return result; } -FileType UicGeneratorFactory::sourceType() const +// UicGeneratorFactory + +class UicGeneratorFactory final : public ExtraCompilerFactory { - return FileType::Form; +public: + UicGeneratorFactory() = default; + + FileType sourceType() const final { return FileType::Form; } + + QString sourceTag() const final { return QLatin1String("ui"); } + + ExtraCompiler *create(const Project *project, + const FilePath &source, + const FilePaths &targets) final + { + return new UicGenerator(project, source, targets, this); + } +}; + +void setupUicGenerator() +{ + static UicGeneratorFactory theUicGeneratorFactory; } -QString UicGeneratorFactory::sourceTag() const -{ - return QLatin1String("ui"); -} - -ExtraCompiler *UicGeneratorFactory::create(const Project *project, - const FilePath &source, - const FilePaths &targets) -{ - return new UicGenerator(project, source, targets, this); -} - -} // QtSupport +} // QtSupport::Internal diff --git a/src/plugins/qtsupport/uicgenerator.h b/src/plugins/qtsupport/uicgenerator.h index b3b1de17e4a..f8fdeb5ca05 100644 --- a/src/plugins/qtsupport/uicgenerator.h +++ b/src/plugins/qtsupport/uicgenerator.h @@ -3,23 +3,8 @@ #pragma once -#include -#include +namespace QtSupport::Internal { -namespace QtSupport { +void setupUicGenerator(); -class UicGeneratorFactory : public ProjectExplorer::ExtraCompilerFactory -{ -public: - UicGeneratorFactory() = default; - - ProjectExplorer::FileType sourceType() const override; - - QString sourceTag() const override; - - ProjectExplorer::ExtraCompiler *create(const ProjectExplorer::Project *project, - const Utils::FilePath &source, - const Utils::FilePaths &targets) override; -}; - -} // QtSupport +} // QtSupport::Internal