diff --git a/loader/src/ui/mods/list/ModItem.cpp b/loader/src/ui/mods/list/ModItem.cpp index d85d8bff5..881436d58 100644 --- a/loader/src/ui/mods/list/ModItem.cpp +++ b/loader/src/ui/mods/list/ModItem.cpp @@ -193,9 +193,9 @@ bool ModItem::init(ModSource&& source) { } } - auto viewBtn = CCMenuItemSpriteExtra::create(spr, this, menu_selector(ModItem::onView)); - viewBtn->setID("view-button"); - m_viewMenu->addChild(viewBtn); + m_viewBtn = CCMenuItemSpriteExtra::create(spr, this, menu_selector(ModItem::onView)); + m_viewBtn->setID("view-button"); + m_viewMenu->addChild(m_viewBtn); m_viewMenu->updateLayout(); @@ -607,6 +607,10 @@ void ModItem::updateState() { elementToReplaceWithOtherAbnormalElement->setVisible(!wantsRestart); m_downloadBarContainer->setVisible(false); m_downloadWaiting->setVisible(false); + + if (wantsRestart) { + m_viewBtn->setSprite(createGeodeButton("View", 50, false, true)); + } } // Set default colors based on source to start off with diff --git a/loader/src/ui/mods/list/ModItem.hpp b/loader/src/ui/mods/list/ModItem.hpp index b67a8129e..5a108e4f6 100644 --- a/loader/src/ui/mods/list/ModItem.hpp +++ b/loader/src/ui/mods/list/ModItem.hpp @@ -68,6 +68,7 @@ class ModItem : public ModListItem { Slider* m_downloadBar; CCMenuItemToggler* m_enableToggle = nullptr; CCMenuItemToggler* m_pinToggle = nullptr; + CCMenuItemSpriteExtra* m_viewBtn = nullptr; CCMenuItemSpriteExtra* m_updateBtn = nullptr; ListenerHandle m_updateStateHandle; async::TaskHolder> m_checkUpdateListener;