MCPcopy Create free account
hub / github.com/ElyPrismLauncher/Launcher / appendResource

Method appendResource

launcher/ui/dialogs/ResourceUpdateDialog.cpp:439–505  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

437}
438
439void ResourceUpdateDialog::appendResource(CheckUpdateTask::Update const& info, QStringList requiredBy)
440{
441 auto item_top = new QTreeWidgetItem(ui->modTreeWidget);
442 item_top->setCheckState(0, info.enabled ? Qt::CheckState::Checked : Qt::CheckState::Unchecked);
443 if (!info.enabled) {
444 item_top->setToolTip(0, tr("Mod was disabled as it may be already installed."));
445 }
446 item_top->setText(0, info.name);
447 item_top->setExpanded(true);
448
449 auto provider_item = new QTreeWidgetItem(item_top);
450 QString provider_name = ModPlatform::ProviderCapabilities::readableName(info.provider);
451 provider_item->setText(0, tr("Provider: %1").arg(provider_name));
452 provider_item->setData(0, Qt::UserRole, provider_name);
453
454 auto old_version_item = new QTreeWidgetItem(item_top);
455 old_version_item->setText(0, tr("Old version: %1").arg(info.old_version));
456 old_version_item->setData(0, Qt::UserRole, info.old_version);
457
458 auto new_version_item = new QTreeWidgetItem(item_top);
459 new_version_item->setText(0, tr("New version: %1").arg(info.new_version));
460 new_version_item->setData(0, Qt::UserRole, info.new_version);
461
462 if (info.new_version_type.has_value()) {
463 auto new_version_type_item = new QTreeWidgetItem(item_top);
464 new_version_type_item->setText(0, tr("New Version Type: %1").arg(info.new_version_type.value().toString()));
465 new_version_type_item->setData(0, Qt::UserRole, info.new_version_type.value().toString());
466 }
467
468 if (!requiredBy.isEmpty()) {
469 auto requiredByItem = new QTreeWidgetItem(item_top);
470 if (requiredBy.length() == 1) {
471 requiredByItem->setText(0, tr("Required by: %1").arg(requiredBy.back()));
472 requiredByItem->setData(0, Qt::UserRole, requiredBy.back());
473 } else {
474 requiredByItem->setText(0, tr("Required by:"));
475 for (auto req : requiredBy) {
476 auto reqItem = new QTreeWidgetItem(requiredByItem);
477 reqItem->setText(0, req);
478 }
479 }
480
481 ui->toggleDepsButton->show();
482 m_deps << item_top;
483 }
484
485 auto changelog_item = new QTreeWidgetItem(item_top);
486 changelog_item->setText(0, tr("Changelog of the latest version"));
487
488 auto changelog = new QTreeWidgetItem(changelog_item);
489 auto changelog_area = new QTextBrowser();
490
491 QString text = info.changelog;
492 changelog->setData(0, Qt::UserRole, text);
493 if (info.provider == ModPlatform::ResourceProvider::MODRINTH) {
494 text = markdownToHTML(info.changelog.toUtf8());
495 }
496

Callers

nothing calls this directly

Calls 7

markdownToHTMLFunction · 0.85
valueMethod · 0.80
showMethod · 0.80
setTextMethod · 0.45
setDataMethod · 0.45
toStringMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected