From 0da9cef29fe01f0800a49eaf47b9e5b87373ef8d Mon Sep 17 00:00:00 2001 From: Justin Pridgen Date: Mon, 19 Aug 2024 07:01:50 -0400 Subject: [PATCH] made it slightly better --- loader/resources/copy.png | Bin 1482 -> 6051 bytes loader/src/ui/mods/ModsLayer.cpp | 56 +++++++++++++++---------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/loader/resources/copy.png b/loader/resources/copy.png index 3ec2efe5fbbcb8fdee06c3304f570d50750bfa49..3c40f1967cca492f5927ca89b4f8934b11e6c8f3 100644 GIT binary patch delta 6032 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 - if (!mods.empty()) { - text = "Mods list copied to clipboard!"; - std::sort(mods.begin(), mods.end(), [](Mod* a, Mod* b) { - auto const s1 = a->getID(); - auto const s2 = b->getID(); - return std::lexicographical_compare(s1.begin(), s1.end(), s2.begin(), s2.end(), [](auto a, auto b) { - return std::tolower(a) < std::tolower(b); - }); - }); - - std::stringstream ss; - using namespace std::string_view_literals; - for (int i = 0; i < mods.size(); i++) { - auto& mod = mods[i]; - ss << fmt::format("{} | [{}] {}", - mod->isEnabled() ? "x"sv : - mod->hasProblems() ? "!"sv : - " "sv, - mod->getVersion().toVString(), mod->getID() - ); - if (i != mods.size() - 1) { - ss << "\n"; - } - } - clipboard::write(ss.str()); + if (mods.empty()) { + Notification::create("No mods installed", NotificationIcon::Info, 0.6f)->show(); + return; } - auto popup = TextAlertPopup::create(text, 0.5f, 0.6f, 150, "bigFont.fnt"); - this->addChild(popup, 100); + std::sort(mods.begin(), mods.end(), [](Mod* a, Mod* b) { + auto const s1 = a->getID(); + auto const s2 = b->getID(); + return std::lexicographical_compare(s1.begin(), s1.end(), s2.begin(), s2.end(), [](auto a, auto b) { + return std::tolower(a) < std::tolower(b); + }); + }); + + std::stringstream ss; + using namespace std::string_view_literals; + for (int i = 0; i < mods.size(); i++) { + auto& mod = mods[i]; + ss << fmt::format("{} | [{}] {}", + mod->isEnabled() ? "x"sv : + mod->hasProblems() ? "!"sv : + " "sv, + mod->getVersion().toVString(), mod->getID() + ); + if (i != mods.size() - 1) { + ss << "\n"; + } + } + clipboard::write(ss.str()); + + Notification::create("Mods list copied to clipboard", NotificationIcon::Info, 0.5f)->show(); } ModsLayer* ModsLayer::create() {