forked from qt-creator/qt-creator
ProjectExplorer: Use RunConfigCreationInfo struct for rc creation
The struct will likely gain qtcrunnanable/terminal members, better pass all to where it is needed. Change-Id: Ieb0dae8b56ce5c0992955dbfc0cd89cdd7bfe848 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -535,13 +535,14 @@ bool IRunConfigurationFactory::canCreateHelper(Target *, const QString &) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
RunConfiguration *IRunConfigurationFactory::create(Target *parent, Core::Id id, const QString &extra) const
|
RunConfiguration *IRunConfigurationFactory::create(Target *parent,
|
||||||
|
const RunConfigurationCreationInfo &info) const
|
||||||
{
|
{
|
||||||
if (!canHandle(parent))
|
if (!canHandle(parent))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
if (id != m_runConfigBaseId)
|
if (info.id != m_runConfigBaseId)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
if (!canCreateHelper(parent, extra))
|
if (!canCreateHelper(parent, info.extra))
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
QTC_ASSERT(m_creator, return nullptr);
|
QTC_ASSERT(m_creator, return nullptr);
|
||||||
@@ -551,9 +552,9 @@ RunConfiguration *IRunConfigurationFactory::create(Target *parent, Core::Id id,
|
|||||||
|
|
||||||
// "FIX" ids by mangling in the extra data (build system target etc)
|
// "FIX" ids by mangling in the extra data (build system target etc)
|
||||||
// for compatibility for the current format used in settings.
|
// for compatibility for the current format used in settings.
|
||||||
if (!extra.isEmpty()) {
|
if (!info.extra.isEmpty()) {
|
||||||
QVariantMap data = rc->toMap();
|
QVariantMap data = rc->toMap();
|
||||||
data[ProjectConfiguration::settingsIdKey()] = id.withSuffix(extra).toString();
|
data[ProjectConfiguration::settingsIdKey()] = info.id.withSuffix(info.extra).toString();
|
||||||
rc->fromMap(data);
|
rc->fromMap(data);
|
||||||
QVariantMap data2 = rc->toMap();
|
QVariantMap data2 = rc->toMap();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -312,7 +312,7 @@ public:
|
|||||||
|
|
||||||
virtual bool canHandle(Target *target) const;
|
virtual bool canHandle(Target *target) const;
|
||||||
|
|
||||||
RunConfiguration *create(Target *parent, Core::Id id, const QString &extra) const;
|
RunConfiguration *create(Target *parent, const RunConfigurationCreationInfo &info) const;
|
||||||
|
|
||||||
static RunConfiguration *restore(Target *parent, const QVariantMap &map);
|
static RunConfiguration *restore(Target *parent, const QVariantMap &map);
|
||||||
static RunConfiguration *clone(Target *parent, RunConfiguration *source);
|
static RunConfiguration *clone(Target *parent, RunConfiguration *source);
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ void RunSettingsWidget::aboutToShowAddMenu()
|
|||||||
for (const RunConfigurationCreationInfo &item : items) {
|
for (const RunConfigurationCreationInfo &item : items) {
|
||||||
auto action = new QAction(item.displayName, m_addRunMenu);
|
auto action = new QAction(item.displayName, m_addRunMenu);
|
||||||
connect(action, &QAction::triggered, [item, this] {
|
connect(action, &QAction::triggered, [item, this] {
|
||||||
RunConfiguration *newRC = item.factory->create(m_target, item.id, item.extra);
|
RunConfiguration *newRC = item.factory->create(m_target, item);
|
||||||
if (!newRC)
|
if (!newRC)
|
||||||
return;
|
return;
|
||||||
QTC_CHECK(newRC->id() == item.id);
|
QTC_CHECK(newRC->id() == item.id);
|
||||||
|
|||||||
@@ -594,7 +594,7 @@ void Target::updateDefaultRunConfigurations()
|
|||||||
if (exists)
|
if (exists)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
RunConfiguration *rc = item.factory->create(this, item.id, item.extra);
|
RunConfiguration *rc = item.factory->create(this, item);
|
||||||
if (!rc)
|
if (!rc)
|
||||||
continue;
|
continue;
|
||||||
QTC_CHECK(rc->id() == item.id);
|
QTC_CHECK(rc->id() == item.id);
|
||||||
|
|||||||
Reference in New Issue
Block a user