aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qtsupport/uicgenerator.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2024-01-18 09:28:04 +0100
committerhjk <hjk@qt.io>2024-01-18 10:17:53 +0000
commit6467797af22af1735138ff853ab282d7e79d55cf (patch)
tree90a3b4785ac60ef0f307919c3744f0beb83c189e /src/plugins/qtsupport/uicgenerator.cpp
parenta4e6d36427bfb316bacd09a4fa4d85d037740658 (diff)
QtSupport: Use setup pattern for UIC and SCXML extracompilers
Change-Id: I4727333e9716eae41ea41a37f032fb44b383212c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Diffstat (limited to 'src/plugins/qtsupport/uicgenerator.cpp')
-rw-r--r--src/plugins/qtsupport/uicgenerator.cpp49
1 files changed, 27 insertions, 22 deletions
diff --git a/src/plugins/qtsupport/uicgenerator.cpp b/src/plugins/qtsupport/uicgenerator.cpp
index 840bc58564..dee12b9f9c 100644
--- a/src/plugins/qtsupport/uicgenerator.cpp
+++ b/src/plugins/qtsupport/uicgenerator.cpp
@@ -7,6 +7,7 @@
#include "qtkitaspect.h"
#include <projectexplorer/buildconfiguration.h>
+#include <projectexplorer/extracompiler.h>
#include <projectexplorer/kitmanager.h>
#include <projectexplorer/target.h>
@@ -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
-{
- return FileType::Form;
-}
+// UicGeneratorFactory
-QString UicGeneratorFactory::sourceTag() const
+class UicGeneratorFactory final : public ExtraCompilerFactory
{
- return QLatin1String("ui");
-}
+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);
+ }
+};
-ExtraCompiler *UicGeneratorFactory::create(const Project *project,
- const FilePath &source,
- const FilePaths &targets)
+void setupUicGenerator()
{
- return new UicGenerator(project, source, targets, this);
+ static UicGeneratorFactory theUicGeneratorFactory;
}
-} // QtSupport
+} // QtSupport::Internal