aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-06-12 07:50:52 +0200
committerhjk <hjk@qt.io>2020-06-15 12:13:38 +0000
commitbeee392dd85ddb1b10bbd507967157bc6fc7f539 (patch)
tree2abd6316c2a04af4c67ce8f45400db7ab192b388 /src
parentfcef4709bb140f1b22b16e8b3bae0bf887f0e315 (diff)
ProjectExplorer: Consolidate RunConfigurationFactory::ids
It was already only one id string with two names. Since it is not an id for the factory but the id of the created run configuration, settle of runConfigurationId() as accessor. The factory and id fields in RunConfigurationCreationInfo were redundant. factory always implies (runconfiguration)id (but not necessarily the other way round, in theory different factories are possible for the same runconfiguration type for different devices). So drop the id field here. In one case now factory pointers instead of ids are compared, but this is neutral there as this happens in a context of a fixed Target, device and project are fixed there, so id and factory are equally unique. Change-Id: I859aa91486a2dd4abfc7369540a3322d6ec6260d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/android/androidplugin.cpp8
-rw-r--r--src/plugins/baremetal/baremetalplugin.cpp3
-rw-r--r--src/plugins/boot2qt/qdbplugin.cpp2
-rw-r--r--src/plugins/ios/iosplugin.cpp6
-rw-r--r--src/plugins/mesonprojectmanager/mesonprojectplugin.cpp2
-rw-r--r--src/plugins/nim/nimplugin.cpp6
-rw-r--r--src/plugins/projectexplorer/addrunconfigdialog.cpp2
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp6
-rw-r--r--src/plugins/projectexplorer/runconfiguration.cpp5
-rw-r--r--src/plugins/projectexplorer/runconfiguration.h18
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.cpp4
-rw-r--r--src/plugins/projectexplorer/target.cpp6
-rw-r--r--src/plugins/python/pythonplugin.cpp2
-rw-r--r--src/plugins/qmlprojectmanager/qmlprojectplugin.cpp2
-rw-r--r--src/plugins/qnx/qnxplugin.cpp6
-rw-r--r--src/plugins/remotelinux/remotelinuxplugin.cpp4
-rw-r--r--src/plugins/winrt/winrtplugin.cpp4
17 files changed, 42 insertions, 44 deletions
diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp
index bbf890dce7..7b5a99f658 100644
--- a/src/plugins/android/androidplugin.cpp
+++ b/src/plugins/android/androidplugin.cpp
@@ -120,22 +120,22 @@ public:
RunWorkerFactory runWorkerFactory{
RunWorkerFactory::make<AndroidRunSupport>(),
{NORMAL_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
RunWorkerFactory debugWorkerFactory{
RunWorkerFactory::make<AndroidDebugSupport>(),
{DEBUG_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
RunWorkerFactory profilerWorkerFactory{
RunWorkerFactory::make<AndroidQmlToolingSupport>(),
{QML_PROFILER_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
RunWorkerFactory qmlPreviewWorkerFactory{
RunWorkerFactory::make<AndroidQmlToolingSupport>(),
{QML_PREVIEW_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
RunWorkerFactory qmlPreviewWorkerFactory2{
RunWorkerFactory::make<AndroidQmlPreviewWorker>(),
diff --git a/src/plugins/baremetal/baremetalplugin.cpp b/src/plugins/baremetal/baremetalplugin.cpp
index a01ae59551..9f9f09c6b8 100644
--- a/src/plugins/baremetal/baremetalplugin.cpp
+++ b/src/plugins/baremetal/baremetalplugin.cpp
@@ -82,7 +82,8 @@ public:
RunWorkerFactory runWorkerFactory{
RunWorkerFactory::make<BareMetalDebugSupport>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE, ProjectExplorer::Constants::DEBUG_RUN_MODE},
- {runConfigurationFactory.id(), customRunConfigurationFactory.id()}
+ {runConfigurationFactory.runConfigurationId(),
+ customRunConfigurationFactory.runConfigurationId()}
};
};
diff --git a/src/plugins/boot2qt/qdbplugin.cpp b/src/plugins/boot2qt/qdbplugin.cpp
index cf6f67ebbd..a3cb3a695f 100644
--- a/src/plugins/boot2qt/qdbplugin.cpp
+++ b/src/plugins/boot2qt/qdbplugin.cpp
@@ -184,7 +184,7 @@ public:
m_makeInstallStepFactory{RemoteLinux::Constants::MakeInstallStepId};
const QList<Core::Id> supportedRunConfigs {
- m_runConfigFactory.id(),
+ m_runConfigFactory.runConfigurationId(),
"QmlProjectManager.QmlRunConfiguration"
};
diff --git a/src/plugins/ios/iosplugin.cpp b/src/plugins/ios/iosplugin.cpp
index a112364735..5a684f7a82 100644
--- a/src/plugins/ios/iosplugin.cpp
+++ b/src/plugins/ios/iosplugin.cpp
@@ -85,17 +85,17 @@ public:
RunWorkerFactory runWorkerFactory{
RunWorkerFactory::make<IosRunSupport>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {runConfigurationFactory.id()}
+ {runConfigurationFactory.runConfigurationId()}
};
RunWorkerFactory debugWorkerFactory{
RunWorkerFactory::make<IosDebugSupport>(),
{ProjectExplorer::Constants::DEBUG_RUN_MODE},
- {runConfigurationFactory.id()}
+ {runConfigurationFactory.runConfigurationId()}
};
RunWorkerFactory qmlProfilerWorkerFactory{
RunWorkerFactory::make<IosQmlProfilerSupport>(),
{ProjectExplorer::Constants::QML_PROFILER_RUN_MODE},
- {runConfigurationFactory.id()}
+ {runConfigurationFactory.runConfigurationId()}
};
};
diff --git a/src/plugins/mesonprojectmanager/mesonprojectplugin.cpp b/src/plugins/mesonprojectmanager/mesonprojectplugin.cpp
index a48e2b6a8a..0490418831 100644
--- a/src/plugins/mesonprojectmanager/mesonprojectplugin.cpp
+++ b/src/plugins/mesonprojectmanager/mesonprojectplugin.cpp
@@ -88,7 +88,7 @@ private:
RunWorkerFactory
m_mesonRunWorkerFactory{RunWorkerFactory::make<ProjectExplorer::SimpleTargetRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {m_runConfigurationFactory.id()}};
+ {m_runConfigurationFactory.runConfigurationId()}};
void saveAll()
{
m_toolsSettings.saveMesonTools(MesonTools::tools(), ICore::dialogParent());
diff --git a/src/plugins/nim/nimplugin.cpp b/src/plugins/nim/nimplugin.cpp
index 2fe64b1e99..d92ebdff7a 100644
--- a/src/plugins/nim/nimplugin.cpp
+++ b/src/plugins/nim/nimplugin.cpp
@@ -78,17 +78,17 @@ public:
RunWorkerFactory nimRunWorkerFactory {
RunWorkerFactory::make<SimpleTargetRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {nimRunConfigFactory.id()}
+ {nimRunConfigFactory.runConfigurationId()}
};
RunWorkerFactory nimbleRunWorkerFactory {
RunWorkerFactory::make<SimpleTargetRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {nimbleRunConfigFactory.id()}
+ {nimbleRunConfigFactory.runConfigurationId()}
};
RunWorkerFactory nimbleTestWorkerFactory {
RunWorkerFactory::make<SimpleTargetRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {nimbleTestConfigFactory.id()}
+ {nimbleTestConfigFactory.runConfigurationId()}
};
NimbleBuildStepFactory nimbleBuildStepFactory;
NimbleTaskStepFactory nimbleTaskStepFactory;
diff --git a/src/plugins/projectexplorer/addrunconfigdialog.cpp b/src/plugins/projectexplorer/addrunconfigdialog.cpp
index bc57e1c544..080d6df538 100644
--- a/src/plugins/projectexplorer/addrunconfigdialog.cpp
+++ b/src/plugins/projectexplorer/addrunconfigdialog.cpp
@@ -184,7 +184,7 @@ void AddRunConfigDialog::accept()
const TreeItem * const item = model->itemForIndex(proxyModel->mapToSource(selected.first()));
QTC_ASSERT(item, return);
m_creationInfo = static_cast<const CandidateTreeItem *>(item)->creationInfo();
- QTC_ASSERT(m_creationInfo.id.isValid(), return);
+ QTC_ASSERT(m_creationInfo.factory, return);
QDialog::accept();
}
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 1ff8f6d230..e0c9f82b41 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -624,7 +624,7 @@ public:
RunWorkerFactory m_customExecutableRunWorkerFactory{
RunWorkerFactory::make<SimpleTargetRunner>(),
{Constants::NORMAL_RUN_MODE},
- {m_customExecutableRunConfigFactory.id()}
+ {m_customExecutableRunConfigFactory.runConfigurationId()}
};
ProjectFileWizardExtension m_projectFileWizardExtension;
@@ -657,7 +657,9 @@ public:
RunWorkerFactory desktopRunWorkerFactory{
RunWorkerFactory::make<SimpleTargetRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {qmakeRunConfigFactory.id(), qbsRunConfigFactory.id(), cmakeRunConfigFactory.id()}
+ {qmakeRunConfigFactory.runConfigurationId(),
+ qbsRunConfigFactory.runConfigurationId(),
+ cmakeRunConfigFactory.runConfigurationId()}
};
};
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index 69f6dc8606..2a1d879646 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -458,7 +458,6 @@ RunConfigurationFactory::availableCreators(Target *target) const
displayName = decoratedTargetName(displayName, target);
RunConfigurationCreationInfo rci;
rci.factory = this;
- rci.id = m_runConfigBaseId;
rci.buildKey = ti.buildKey;
rci.projectFilePath = ti.projectFilePath;
rci.displayName = displayName;
@@ -532,7 +531,6 @@ RunConfiguration *RunConfigurationFactory::create(Target *target) const
RunConfiguration *RunConfigurationCreationInfo::create(Target *target) const
{
QTC_ASSERT(factory->canHandle(target), return nullptr);
- QTC_ASSERT(id == factory->runConfigurationBaseId(), return nullptr);
RunConfiguration *rc = factory->create(target);
if (!rc)
@@ -550,7 +548,7 @@ RunConfiguration *RunConfigurationFactory::restore(Target *parent, const QVarian
for (RunConfigurationFactory *factory : g_runConfigurationFactories) {
if (factory->canHandle(parent)) {
const Core::Id id = idFromMap(map);
- if (id.name().startsWith(factory->m_runConfigBaseId.name())) {
+ if (id.name().startsWith(factory->m_runConfigurationId.name())) {
RunConfiguration *rc = factory->create(parent);
if (rc->fromMap(map)) {
rc->update();
@@ -601,7 +599,6 @@ FixedRunConfigurationFactory::availableCreators(Target *parent) const
: m_fixedBuildTarget;
RunConfigurationCreationInfo rci;
rci.factory = this;
- rci.id = runConfigurationBaseId();
rci.displayName = displayName;
return {rci};
}
diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h
index e896968c10..20fa04b647 100644
--- a/src/plugins/projectexplorer/runconfiguration.h
+++ b/src/plugins/projectexplorer/runconfiguration.h
@@ -207,7 +207,6 @@ public:
RunConfiguration *create(Target *target) const;
const RunConfigurationFactory *factory = nullptr;
- Core::Id id;
QString buildKey;
QString displayName;
QString displayNameUniquifier;
@@ -228,8 +227,7 @@ public:
static RunConfiguration *clone(Target *parent, RunConfiguration *source);
static const QList<RunConfigurationCreationInfo> creatorsForTarget(Target *parent);
- Core::Id id() const { return m_runConfigBaseId; }
- Core::Id runConfigurationBaseId() const { return m_runConfigBaseId; }
+ Core::Id runConfigurationId() const { return m_runConfigurationId; }
static QString decoratedTargetName(const QString &targetName, Target *kit);
@@ -239,16 +237,16 @@ protected:
using RunConfigurationCreator = std::function<RunConfiguration *(Target *)>;
template <class RunConfig>
- void registerRunConfiguration(Core::Id runConfigBaseId)
+ void registerRunConfiguration(Core::Id runConfigurationId)
{
- m_creator = [runConfigBaseId](Target *t) -> RunConfiguration * {
- return new RunConfig(t, runConfigBaseId);
+ m_creator = [runConfigurationId](Target *t) -> RunConfiguration * {
+ return new RunConfig(t, runConfigurationId);
};
- m_runConfigBaseId = runConfigBaseId;
+ m_runConfigurationId = runConfigurationId;
}
- void addSupportedProjectType(Core::Id id);
- void addSupportedTargetDeviceType(Core::Id id);
+ void addSupportedProjectType(Core::Id projectTypeId);
+ void addSupportedTargetDeviceType(Core::Id deviceTypeId);
void setDecorateDisplayNames(bool on);
private:
@@ -257,7 +255,7 @@ private:
friend class RunConfigurationCreationInfo;
RunConfigurationCreator m_creator;
- Core::Id m_runConfigBaseId;
+ Core::Id m_runConfigurationId;
QList<Core::Id> m_supportedProjectTypes;
QList<Core::Id> m_supportedTargetDeviceTypes;
bool m_decorateDisplayNames = false;
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index 0c77202893..002652c779 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -201,11 +201,11 @@ void RunSettingsWidget::showAddRunConfigDialog()
if (dlg.exec() != QDialog::Accepted)
return;
RunConfigurationCreationInfo rci = dlg.creationInfo();
- QTC_ASSERT(rci.id.isValid(), return);
+ QTC_ASSERT(rci.factory, return);
RunConfiguration *newRC = rci.create(m_target);
if (!newRC)
return;
- QTC_CHECK(newRC->id() == rci.id);
+ QTC_CHECK(newRC->id() == rci.factory->runConfigurationId());
m_target->addRunConfiguration(newRC);
m_target->setActiveRunConfiguration(newRC);
m_removeRunToolButton->setEnabled(m_target->runConfigurations().size() > 1);
diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp
index e46f259f8a..c7d07b0238 100644
--- a/src/plugins/projectexplorer/target.cpp
+++ b/src/plugins/projectexplorer/target.cpp
@@ -625,7 +625,7 @@ void Target::updateDefaultRunConfigurations()
bool present = false;
for (const RunConfigurationCreationInfo &item : creators) {
QString buildKey = rc->buildKey();
- if (item.id == rc->id() && item.buildKey == buildKey) {
+ if (item.factory->runConfigurationId() == rc->id() && item.buildKey == buildKey) {
existing.append(item);
present = true;
}
@@ -643,7 +643,7 @@ void Target::updateDefaultRunConfigurations()
continue;
bool exists = false;
for (const RunConfigurationCreationInfo &ex : existing) {
- if (ex.id == item.id && ex.buildKey == item.buildKey)
+ if (ex.factory == item.factory && ex.buildKey == item.buildKey)
exists = true;
}
if (exists)
@@ -652,7 +652,7 @@ void Target::updateDefaultRunConfigurations()
RunConfiguration *rc = item.create(this);
if (!rc)
continue;
- QTC_CHECK(rc->id() == item.id);
+ QTC_CHECK(rc->id() == item.factory->runConfigurationId());
if (!rc->isConfigured())
newUnconfigured << rc;
else
diff --git a/src/plugins/python/pythonplugin.cpp b/src/plugins/python/pythonplugin.cpp
index cfc195acb2..9c02a7ead2 100644
--- a/src/plugins/python/pythonplugin.cpp
+++ b/src/plugins/python/pythonplugin.cpp
@@ -64,7 +64,7 @@ public:
RunWorkerFactory runWorkerFactory{
RunWorkerFactory::make<SimpleTargetRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
};
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index b44cbf0670..a9780c06c7 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -47,7 +47,7 @@ public:
RunWorkerFactory runWorkerFactory{
RunWorkerFactory::make<SimpleTargetRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
};
diff --git a/src/plugins/qnx/qnxplugin.cpp b/src/plugins/qnx/qnxplugin.cpp
index 6b775794ce..c127fb58a0 100644
--- a/src/plugins/qnx/qnxplugin.cpp
+++ b/src/plugins/qnx/qnxplugin.cpp
@@ -132,17 +132,17 @@ public:
RunWorkerFactory runWorkerFactory{
RunWorkerFactory::make<SimpleTargetRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
RunWorkerFactory debugWorkerFactory{
RunWorkerFactory::make<QnxDebugSupport>(),
{ProjectExplorer::Constants::DEBUG_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
RunWorkerFactory qmlProfilerWorkerFactory{
RunWorkerFactory::make<QnxQmlProfilerSupport>(),
{}, // FIXME: Shouldn't this use the run mode id somehow?
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
};
diff --git a/src/plugins/remotelinux/remotelinuxplugin.cpp b/src/plugins/remotelinux/remotelinuxplugin.cpp
index 036750f466..cc0ebf3406 100644
--- a/src/plugins/remotelinux/remotelinuxplugin.cpp
+++ b/src/plugins/remotelinux/remotelinuxplugin.cpp
@@ -83,8 +83,8 @@ public:
GenericDeployStepFactory<MakeInstallStep> makeInstallStepFactory;
const QList<Core::Id> supportedRunConfigs {
- runConfigurationFactory.id(),
- customRunConfigurationFactory.id(),
+ runConfigurationFactory.runConfigurationId(),
+ customRunConfigurationFactory.runConfigurationId(),
"QmlProjectManager.QmlRunConfiguration"
};
diff --git a/src/plugins/winrt/winrtplugin.cpp b/src/plugins/winrt/winrtplugin.cpp
index 314443e134..2b603bff26 100644
--- a/src/plugins/winrt/winrtplugin.cpp
+++ b/src/plugins/winrt/winrtplugin.cpp
@@ -62,13 +62,13 @@ public:
RunWorkerFactory runWorkerFactory{
RunWorkerFactory::make<WinRtRunner>(),
{ProjectExplorer::Constants::NORMAL_RUN_MODE},
- {runConfigFactory.id()}
+ {runConfigFactory.runConfigurationId()}
};
RunWorkerFactory debugWorkerFactory{
RunWorkerFactory::make<WinRtDebugSupport>(),
{ProjectExplorer::Constants::DEBUG_RUN_MODE},
- {runConfigFactory.id()},
+ {runConfigFactory.runConfigurationId()},
{Internal::Constants::WINRT_DEVICE_TYPE_LOCAL}
};
};