From 5f75e531e61e1f2cb5d602e084e9a0ddd1c85a5c Mon Sep 17 00:00:00 2001 From: flow Date: Mon, 20 Jun 2022 08:55:35 -0300 Subject: fix: handling around disabled mods Don't update disabled mods to prevent mod duplication. Also, chop filename in the metadata with a '.disabled'. Signed-off-by: flow --- launcher/ui/dialogs/ModUpdateDialog.cpp | 10 +++++++--- launcher/ui/dialogs/ModUpdateDialog.h | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'launcher/ui/dialogs') diff --git a/launcher/ui/dialogs/ModUpdateDialog.cpp b/launcher/ui/dialogs/ModUpdateDialog.cpp index 7584621a..2e1fbb08 100644 --- a/launcher/ui/dialogs/ModUpdateDialog.cpp +++ b/launcher/ui/dialogs/ModUpdateDialog.cpp @@ -62,8 +62,10 @@ void ModUpdateDialog::checkCandidates() // Report failed metadata generation if (!m_failed_metadata.empty()) { QString text; - for (const auto& mod : m_failed_metadata) { - text += tr("Mod name: %1
File name: %2

").arg(mod.name(), mod.fileinfo().fileName()); + for (const auto& failed : m_failed_metadata) { + const auto& mod = std::get<0>(failed); + const auto& reason = std::get<1>(failed); + text += tr("Mod name: %1
File name: %2
Reason: %3

").arg(mod.name(), mod.fileinfo().fileName(), reason); } ScrollMessageBox message_dialog(m_parent, tr("Metadata generation failed"), @@ -316,7 +318,9 @@ void ModUpdateDialog::onMetadataFailed(Mod& mod, bool try_others, ModPlatform::P m_second_try_metadata->addTask(task); } else { - m_failed_metadata.push_back(mod); + QString reason { tr("Didn't find a valid version on the selected mod provider(s)") }; + + m_failed_metadata.emplace_back(mod, reason); } } diff --git a/launcher/ui/dialogs/ModUpdateDialog.h b/launcher/ui/dialogs/ModUpdateDialog.h index f40fc594..336fbba2 100644 --- a/launcher/ui/dialogs/ModUpdateDialog.h +++ b/launcher/ui/dialogs/ModUpdateDialog.h @@ -50,7 +50,7 @@ class ModUpdateDialog final : public ReviewMessageBox { std::list m_flame_to_update; SequentialTask* m_second_try_metadata; - std::list m_failed_metadata; + std::list> m_failed_metadata; std::list> m_failed_check_update; QHash m_tasks; -- cgit