MCPcopy Create free account
hub / github.com/FreesmTeam/FreesmLauncher / processFlame

Method processFlame

launcher/InstanceImportTask.cpp:266–314  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

264}
265
266void InstanceImportTask::processFlame()
267{
268 shared_qobject_ptr<FlameCreationTask> inst_creation_task = nullptr;
269 if (!m_extra_info.isEmpty()) {
270 auto pack_id_it = m_extra_info.constFind("pack_id");
271 Q_ASSERT(pack_id_it != m_extra_info.constEnd());
272 auto pack_id = pack_id_it.value();
273
274 auto pack_version_id_it = m_extra_info.constFind("pack_version_id");
275 Q_ASSERT(pack_version_id_it != m_extra_info.constEnd());
276 auto pack_version_id = pack_version_id_it.value();
277
278 QString original_instance_id;
279 auto original_instance_id_it = m_extra_info.constFind("original_instance_id");
280 if (original_instance_id_it != m_extra_info.constEnd())
281 original_instance_id = original_instance_id_it.value();
282
283 inst_creation_task =
284 makeShared<FlameCreationTask>(m_stagingPath, m_globalSettings, m_parent, pack_id, pack_version_id, original_instance_id);
285 } else {
286 // FIXME: Find a way to get IDs in directly imported ZIPs
287 inst_creation_task = makeShared<FlameCreationTask>(m_stagingPath, m_globalSettings, m_parent, QString(), QString());
288 }
289
290 inst_creation_task->setName(*this);
291 inst_creation_task->setIcon(m_instIcon);
292 inst_creation_task->setGroup(m_instGroup);
293 inst_creation_task->setConfirmUpdate(shouldConfirmUpdate());
294
295 auto weak = inst_creation_task.toWeakRef();
296 connect(inst_creation_task.get(), &Task::succeeded, this, [this, weak] {
297 if (auto sp = weak.lock()) {
298 setOverride(sp->shouldOverride(), sp->originalInstanceID());
299 }
300 emitSucceeded();
301 });
302 connect(inst_creation_task.get(), &Task::failed, this, &InstanceImportTask::emitFailed);
303 connect(inst_creation_task.get(), &Task::progress, this, &InstanceImportTask::setProgress);
304 connect(inst_creation_task.get(), &Task::stepProgress, this, &InstanceImportTask::propagateStepProgress);
305 connect(inst_creation_task.get(), &Task::status, this, &InstanceImportTask::setStatus);
306 connect(inst_creation_task.get(), &Task::details, this, &InstanceImportTask::setDetails);
307
308 connect(inst_creation_task.get(), &Task::aborted, this, &Task::abort);
309 connect(inst_creation_task.get(), &Task::abortStatusChanged, this, &Task::setAbortable);
310
311 m_task.reset(inst_creation_task);
312 setAbortable(true);
313 m_task->start();
314}
315
316void InstanceImportTask::processTechnic()
317{

Callers

nothing calls this directly

Calls 13

QStringClass · 0.85
valueMethod · 0.80
setGroupMethod · 0.80
setConfirmUpdateMethod · 0.80
shouldOverrideMethod · 0.80
originalInstanceIDMethod · 0.80
isEmptyMethod · 0.45
setNameMethod · 0.45
setIconMethod · 0.45
getMethod · 0.45
lockMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected