forked from qt-creator/qt-creator
ProjectExplorer: Move ITargetFactory to object pool
Makes multiple target factories per project possible Reviewed-By: hunger
This commit is contained in:
@@ -64,7 +64,6 @@ const char * const TOOLCHAIN_KEY("GenericProjectManager.GenericProject.Toolchain
|
||||
GenericProject::GenericProject(Manager *manager, const QString &fileName)
|
||||
: m_manager(manager),
|
||||
m_fileName(fileName),
|
||||
m_targetFactory(new GenericTargetFactory(this)),
|
||||
m_toolChain(0)
|
||||
{
|
||||
QFileInfo fileInfo(m_fileName);
|
||||
@@ -90,11 +89,6 @@ GenericProject::~GenericProject()
|
||||
delete m_toolChain;
|
||||
}
|
||||
|
||||
GenericTargetFactory *GenericProject::targetFactory() const
|
||||
{
|
||||
return m_targetFactory;
|
||||
}
|
||||
|
||||
GenericTarget *GenericProject::activeTarget() const
|
||||
{
|
||||
return static_cast<GenericTarget *>(Project::activeTarget());
|
||||
@@ -444,8 +438,11 @@ bool GenericProject::fromMap(const QVariantMap &map)
|
||||
}
|
||||
|
||||
// Add default setup:
|
||||
if (targets().isEmpty())
|
||||
addTarget(targetFactory()->create(this, QLatin1String(GENERIC_DESKTOP_TARGET_ID)));
|
||||
if (targets().isEmpty()) {
|
||||
GenericTargetFactory *factory =
|
||||
ExtensionSystem::PluginManager::instance()->getObject<GenericTargetFactory>();
|
||||
addTarget(factory->create(this, QLatin1String(GENERIC_DESKTOP_TARGET_ID)));
|
||||
}
|
||||
|
||||
ToolChainType type =
|
||||
static_cast<ProjectExplorer::ToolChainType>
|
||||
|
Reference in New Issue
Block a user