ProjectExplorer: Implement RunConfiguration::do{Clone,Restore} in base

It's possible now.

Change-Id: I49ed73312aea1627a9543890431e2e379e3fb3ec
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2017-11-14 17:16:24 +01:00
parent 97053d9f2f
commit 9792547ef9
38 changed files with 25 additions and 249 deletions

View File

@@ -453,9 +453,11 @@ RunConfiguration *IRunConfigurationFactory::create(Target *parent, Core::Id id)
{
if (!canCreate(parent, id))
return nullptr;
RunConfiguration *rc = doCreate(parent, id);
QTC_ASSERT(m_creator, return nullptr);
RunConfiguration *rc = m_creator(parent);
if (!rc)
return nullptr;
rc->initialize(id);
return rc;
}
@@ -463,7 +465,10 @@ RunConfiguration *IRunConfigurationFactory::restore(Target *parent, const QVaria
{
if (!canRestore(parent, map))
return nullptr;
RunConfiguration *rc = doRestore(parent, map);
QTC_ASSERT(m_creator, return nullptr);
RunConfiguration *rc = m_creator(parent);
QTC_ASSERT(rc, return nullptr);
rc->initialize(idFromMap(map));
if (!rc->fromMap(map)) {
delete rc;
rc = nullptr;