more robust NCursesUI::menu_show
This commit is contained in:
parent
310e0f5bd3
commit
b2dffbabb6
|
@ -420,12 +420,15 @@ void NCursesUI::menu_show(const memoryview<String>& choices,
|
||||||
|
|
||||||
DisplayCoord maxsize = window_size(stdscr);
|
DisplayCoord maxsize = window_size(stdscr);
|
||||||
maxsize.column -= anchor.column;
|
maxsize.column -= anchor.column;
|
||||||
|
if (maxsize.column <= 2)
|
||||||
|
return;
|
||||||
|
|
||||||
m_choices.reserve(choices.size());
|
m_choices.reserve(choices.size());
|
||||||
CharCount longest = 0;
|
CharCount longest = 0;
|
||||||
|
const CharCount maxlen = std::min((int)maxsize.column-2, 200);
|
||||||
for (auto& choice : choices)
|
for (auto& choice : choices)
|
||||||
{
|
{
|
||||||
m_choices.push_back(choice.substr(0_char, std::min((int)maxsize.column-2, 200)));
|
m_choices.push_back(choice.substr(0_char, maxlen));
|
||||||
longest = std::max(longest, m_choices.back().char_length());
|
longest = std::max(longest, m_choices.back().char_length());
|
||||||
}
|
}
|
||||||
longest += 1;
|
longest += 1;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user