Skip to content

Commit 00c4e0b

Browse files
committed
Fix long names going off screen
1 parent 59ec617 commit 00c4e0b

2 files changed

Lines changed: 19 additions & 7 deletions

File tree

loader/src/ui/mods/list/ModItem.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,13 @@ bool ModItem::init(ModSource&& source) {
4040
m_titleContainer->setID("title-container");
4141
m_titleContainer->setAnchorPoint({ .0f, .5f });
4242

43-
m_titleLabel = CCLabelBMFont::create(m_source.getMetadata().getName().c_str(), "bigFont.fnt");
43+
StringBuffer title;
44+
title.append("{:.40}", m_source.getMetadata().getName());
45+
if (m_source.getMetadata().getName().size() > 40) {
46+
title.append("...");
47+
}
48+
49+
m_titleLabel = CCLabelBMFont::create(title.c_str(), "bigFont.fnt");
4450
m_titleLabel->setID("title-label");
4551
m_titleContainer->addChild(m_titleLabel);
4652

@@ -576,7 +582,7 @@ void ModItem::updateState() {
576582

577583
auto titleSpace = m_display == ModListDisplay::Grid ?
578584
CCSize(m_obContentSize.width - 10, 35) :
579-
CCSize(m_obContentSize.width / 1.75 - m_obContentSize.height, m_obContentSize.height - 5);
585+
CCSize(m_obContentSize.width - 150, m_obContentSize.height - 5);
580586

581587
// Divide by scale of info container since that actually determines the size
582588
// (Since the scale of m_titleContainer and m_developers is managed by its layout)

loader/src/ui/mods/popups/ModPopup.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,17 @@ bool ModPopup::init(ModSource&& src) {
164164
// Lil padding
165165
auto devAndTitlePos = m_titleContainer->getContentHeight() + 5;
166166

167-
auto title = CCLabelBMFont::create(m_source.getMetadata().getName().c_str(), "bigFont.fnt");
168-
title->limitLabelWidth(m_titleContainer->getContentWidth() - devAndTitlePos, .45f, .1f);
169-
title->setAnchorPoint({ .0f, .5f });
170-
title->setID("mod-name-label");
171-
m_titleContainer->addChildAtPosition(title, Anchor::TopLeft, ccp(devAndTitlePos, -m_titleContainer->getContentHeight() * .25f));
167+
StringBuffer title;
168+
title.append("{:.40}", m_source.getMetadata().getName());
169+
if (m_source.getMetadata().getName().size() > 40) {
170+
title.append("...");
171+
}
172+
173+
auto titleLabel = CCLabelBMFont::create(title.c_str(), "bigFont.fnt");
174+
titleLabel->limitLabelWidth(m_titleContainer->getContentWidth() - devAndTitlePos, .45f, .1f);
175+
titleLabel->setAnchorPoint({ .0f, .5f });
176+
titleLabel->setID("mod-name-label");
177+
m_titleContainer->addChildAtPosition(titleLabel, Anchor::TopLeft, ccp(devAndTitlePos, -m_titleContainer->getContentHeight() * .25f));
172178

173179
auto by = "By " + m_source.formatDevelopers();
174180
auto dev = CCLabelBMFont::create(by.c_str(), "goldFont.fnt");

0 commit comments

Comments
 (0)