88 m_inputCursor = 0; |
88 m_inputCursor = 0; |
89 return; |
89 return; |
90 } |
90 } |
91 |
91 |
92 int oldcursor = m_inputCursor; |
92 int oldcursor = m_inputCursor; |
93 m_inputCursor = clamp(m_inputCursor + delta, 0, m_inputHistory.size() - 1); |
93 m_inputCursor = clamp(m_inputCursor + delta, 0, static_cast<int>(m_inputHistory.size() - 1)); |
94 |
94 |
95 if (m_inputCursor != oldcursor) |
95 if (m_inputCursor != oldcursor) |
96 { |
96 { |
97 m_cursorPosition = getCurrentInput().length(); |
97 m_cursorPosition = getCurrentInput().length(); |
98 m_needInputRender = true; |
98 m_needInputRender = true; |
163 ::keypad(stdscr, true); |
163 ::keypad(stdscr, true); |
164 ::noecho(); |
164 ::noecho(); |
165 ::refresh(); |
165 ::refresh(); |
166 ::timeout(0); |
166 ::timeout(0); |
167 m_inputHistory.clear(); |
167 m_inputHistory.clear(); |
168 m_inputHistory << ""; |
168 m_inputHistory.push_back(""); |
169 m_outputLines.clear(); |
169 m_outputLines.clear(); |
170 m_outputLines << ColoredLine(); |
170 m_outputLines << ColoredLine(); |
171 m_session.setInterface(this); |
171 m_session.setInterface(this); |
172 resetTitle(); |
172 resetTitle(); |
173 |
173 |
387 |
387 |
388 for (int i : range(height)) |
388 for (int i : range(height)) |
389 { |
389 { |
390 mvhline(y, x, ' ', width); |
390 mvhline(y, x, ' ', width); |
391 |
391 |
392 if (i < m_playerNames.size()) |
392 if (i < static_cast<signed>(m_playerNames.size())) |
393 renderColorline(y, x, width, m_playerNames[i], false); |
393 renderColorline(y, x, width, m_playerNames[i], false); |
394 |
394 |
395 y++; |
395 y++; |
396 } |
396 } |
397 |
397 |
1020 for (const String& name : names) |
1020 for (const String& name : names) |
1021 { |
1021 { |
1022 ColoredLine coloredname; |
1022 ColoredLine coloredname; |
1023 coloredname.addString(name); |
1023 coloredname.addString(name); |
1024 coloredname.finalize(); |
1024 coloredname.finalize(); |
1025 m_playerNames.append(coloredname); |
1025 m_playerNames.push_back(coloredname); |
1026 } |
1026 } |
1027 |
1027 |
1028 m_needNicklistRender = true; |
1028 m_needNicklistRender = true; |
1029 } |
1029 } |
1030 |
1030 |
1052 if (input[0] != '/') |
1052 if (input[0] != '/') |
1053 return; |
1053 return; |
1054 |
1054 |
1055 StringList args = input.right(input.length() - 1).split(" "); |
1055 StringList args = input.right(input.length() - 1).split(" "); |
1056 String command = args[0].toLowerCase(); |
1056 String command = args[0].toLowerCase(); |
1057 args.remove_at(0); |
1057 args.erase(args.begin()); |
1058 |
1058 |
1059 if (command == "connect") |
1059 if (command == "connect") |
1060 { |
1060 { |
1061 if (args.size() != 2) |
1061 if (args.size() != 2) |
1062 { |
1062 { |