aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-01-09 17:32:51 +0100
committerhjk <hjk@qt.io>2020-01-10 12:46:38 +0000
commit1eaf44a270dbc8ed3fb6aab24c7d267510acfd84 (patch)
tree60136b971fe2705d7008007965a0e0ed086e4468 /src/plugins/qbsprojectmanager
parent675c414b0799f6bed356d77f9f114578b19bfea7 (diff)
ProjectExplorer: De-QObject-ify BuildConfigurationFactories
The QObject was not heavily used. Object name was for debugging only, translation context can be taken from the corresponding BuildConfiguration objects, the qobject_casts in the three big importers are replaced by dynamic_cast, which is good enough in that context. Take the opportunity to re-use translations from base BuildConfiguration for the common cases and sprinkle in some 'final'. Change-Id: I8e9727c98c6e943cb333556861c24e701c2bdf45 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/qbsprojectmanager')
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp16
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildconfiguration.h4
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectimporter.cpp2
3 files changed, 9 insertions, 13 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
index 0fedc5e88d9..02c306c15e4 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
@@ -430,20 +430,18 @@ QbsBuildConfigurationFactory::QbsBuildConfigurationFactory()
BuildInfo info = createBuildInfo(k, BuildConfiguration::Debug);
//: The name of the debug build configuration created by default for a qbs project.
- info.displayName = tr("Debug");
+ info.displayName = BuildConfiguration::tr("Debug");
//: Non-ASCII characters in directory suffix may cause build issues.
- info.buildDirectory
- = defaultBuildDirectory(projectPath, k, tr("Debug", "Shadow build directory suffix"),
- info.buildType);
+ const QString dbg = QbsBuildConfiguration::tr("Debug", "Shadow build directory suffix");
+ info.buildDirectory = defaultBuildDirectory(projectPath, k, dbg, info.buildType);
result << info;
info = createBuildInfo(k, BuildConfiguration::Release);
//: The name of the release build configuration created by default for a qbs project.
- info.displayName = tr("Release");
+ info.displayName = BuildConfiguration::tr("Release");
//: Non-ASCII characters in directory suffix may cause build issues.
- info.buildDirectory
- = defaultBuildDirectory(projectPath, k, tr("Release", "Shadow build directory suffix"),
- info.buildType);
+ const QString rel = QbsBuildConfiguration::tr("Release", "Shadow build directory suffix");
+ info.buildDirectory = defaultBuildDirectory(projectPath, k, rel, info.buildType);
result << info;
} else {
@@ -462,7 +460,7 @@ BuildInfo QbsBuildConfigurationFactory::createBuildInfo(const Kit *k,
BuildInfo info(this);
info.kitId = k->id();
info.buildType = type;
- info.typeName = tr("Build");
+ info.typeName = BuildConfiguration::tr("Build");
QVariantMap config;
config.insert("configName", type == BuildConfiguration::Debug ? "Debug" : "Release");
info.extraInfo = config;
diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h
index cd303ab52e7..c540acff73f 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h
+++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.h
@@ -95,10 +95,8 @@ private:
QbsBuildSystem *m_buildSystem = nullptr;
};
-class QbsBuildConfigurationFactory : public ProjectExplorer::BuildConfigurationFactory
+class QbsBuildConfigurationFactory final : public ProjectExplorer::BuildConfigurationFactory
{
- Q_OBJECT
-
public:
QbsBuildConfigurationFactory();
diff --git a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
index 9e30a86cada..01acfec13ee 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
@@ -221,7 +221,7 @@ Kit *QbsProjectImporter::createKit(void *directoryData) const
const QList<BuildInfo> QbsProjectImporter::buildInfoListForKit(const Kit *k, void *directoryData) const
{
qCDebug(qbsPmLog) << "creating build info for kit" << k->displayName();
- const auto factory = qobject_cast<QbsBuildConfigurationFactory *>(
+ const auto factory = dynamic_cast<QbsBuildConfigurationFactory *>(
BuildConfigurationFactory::find(k, projectFilePath()));
if (!factory) {
qCDebug(qbsPmLog) << "no build config factory found";