ProjectExplorer: Inline Project::restoreTarget()

... into its only internal user.

Change-Id: I3f2d1a3af757036cc2194967a71ad0d48ed05d9a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-08-01 15:44:21 +02:00
parent b0a00869db
commit 72fe2c706e
2 changed files with 20 additions and 26 deletions

View File

@@ -536,28 +536,6 @@ void Project::handleSubTreeChanged(FolderNode *node)
emit fileListChanged();
}
std::unique_ptr<Target> Project::restoreTarget(const QVariantMap &data)
{
Core::Id id = idFromMap(data);
if (target(id)) {
qWarning("Warning: Duplicated target id found, not restoring second target with id '%s'. Continuing.",
qPrintable(id.toString()));
return nullptr;
}
Kit *k = KitManager::kit(id);
if (!k) {
qWarning("Warning: No kit '%s' found. Continuing.", qPrintable(id.toString()));
return nullptr;
}
auto t = std::make_unique<Target>(this, k, Target::_constructor_tag{});
if (!t->fromMap(data))
return {};
return t;
}
void Project::saveSettings()
{
emit aboutToSaveSettings();
@@ -730,10 +708,27 @@ void Project::createTargetFromMap(const QVariantMap &map, int index)
const QString key = QString::fromLatin1(TARGET_KEY_PREFIX) + QString::number(index);
if (!map.contains(key))
return;
QVariantMap targetMap = map.value(key).toMap();
std::unique_ptr<Target> t = restoreTarget(targetMap);
if (!t || (t->runConfigurations().isEmpty() && t->buildConfigurations().isEmpty()))
const QVariantMap targetMap = map.value(key).toMap();
Core::Id id = idFromMap(targetMap);
if (target(id)) {
qWarning("Warning: Duplicated target id found, not restoring second target with id '%s'. Continuing.",
qPrintable(id.toString()));
return;
}
Kit *k = KitManager::kit(id);
if (!k) {
qWarning("Warning: No kit '%s' found. Continuing.", qPrintable(id.toString()));
return;
}
auto t = std::make_unique<Target>(this, k, Target::_constructor_tag{});
if (!t->fromMap(targetMap))
return;
if (t->runConfigurations().isEmpty() && t->buildConfigurations().isEmpty())
return;
addTarget(std::move(t));

View File

@@ -134,7 +134,6 @@ public:
std::unique_ptr<Target> createTarget(Kit *k);
static bool copySteps(Target *sourceTarget, Target *newTarget);
std::unique_ptr<Target> restoreTarget(const QVariantMap &data);
void saveSettings();
enum class RestoreResult { Ok, Error, UserAbort };